
No.1ベストアンサー
- 回答日時:
バッチファイル上でタスクを監視するのは出来ないと思います。
バッチから起動している「とあるプログラム」が何言語で作られているかわかりませんが、そっちで2重起動禁止は実現できませんか?
もしくは、バッチファイルの実行中はAというファイルを作成しておくようにして、「Aと言うファイルがあればプログラムを起動しない」という制御を入れるとか・・・。
※この場合、バッチファイルはプログラムが終了するまでWAITしないと意味ないですけど^^;
とあるプログラムはVCで作成されています。
ですので、2重起動禁止は実現できるのですが‥
バージョン管理があいまいなソースのため、
下手に内容は触りたくないのです。
実行中にファイルを作成しておく件、なるほどと思いました!(@o@)
しかし何らかの原因で1度プログラムがこけてしまうと2度と動作しないんですよね・・・
うーん・・悩みます。
ご回答ありがとうございました(^^)
No.4
- 回答日時:
二重起動を防ぐのは、#1の方がお書きのようにファイルやディレクトリを作り、もしあれば一定時間待って、再度ファイルのチェックをするというのが一般的です。
MKDIRを使うと作成と存在チェックが一度にできるのでタイミングによるすり抜けが防止できます。:loop
mkdir aaa.tmp 2>NUL
rem 作成できれば、OK。エラーならすでに有ったということ
if %ERRORLEVEL%==0 goto next
rem 1秒待つ
ping -n 2 127.0.0.1 >NUL
goto loop
:next
処理
rem 処理が終われば消しておく
rmdir aaa.tmp
ソースまでお書きいただきありがとうございます。
毎日サーバは再起動させているので、
立ち上がり時に自動でaaa.tmpを削除するようにしていれば、
万一何かの都合で異常終了してしまってファイルが残ってしまっていても
1日以上動作しない事態は防げますよね?
ありがとうございました。
No.3
- 回答日時:
>動作させているのは2000serverです。
Windows2000シリーズでも、ResourceKitを導入していれば、pulist.exeなるプログラムで同じ事は出来ます。
ResourceKitをお持ちでなくても、少し前までは、同機能のフリーウエア版があったのですが、
残念ながら、今は公開されていないみたいです。
(ちゃんと調べてないので、どこかで公開されているかもしれません)
リソースキット中に確認できるプログラムがあるのですね。
フリーウェアについても、早速探してみます(^^)
ご回答ありがとうございました。
No.2
- 回答日時:
XP だったら、
tasklist で動作中のプロセスのリストを得ることができます。
例えば
tasklist | findstr "とあるプログラム" >nul
として
%ERRORLEVEL%
の値が0(つまりfindstr で指定した文字列が見つかった)ならプログラムは、起動中で
値が1(つまりfindstr で指定した文字列が見つからなかった)ならプログラムは、起動していない。
のようにはんだんできると思います。
動作環境を記載しておらず申し訳ありません。
動作させているのは2000serverです。
しかしXPではその様なことが出来るのですね!
自分の端末で試したところ、ばっちり動きました。
今後XPで同様の事態があれば、是非利用したいと思います。
ご回答ありがとうございました・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- その他(プログラミング・Web制作) Windows上のプログラム。「予め決められた時刻に自分で起動して処理して自分で終了する」って可能? 3 2023/01/04 14:29
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Windows 10 win 10 でのstartup program を削除したい 3 2022/04/29 09:21
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- Windows 10 パソコンの更新 パソコン(富士通)の更新をしようと思ったのですが、パソコンの画面が「システムの更新プ 2 2023/01/21 00:28
- Windows 10 windows 制限解除のやり方教えて 3 2023/01/02 22:46
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチスクリプト処理でエラー...
-
_access関数が EACCES エラーと...
-
VBでExcelが起動されているか知...
-
Open Office Org 急に起動しな...
-
ソフトのインストール場所って...
-
exeファイルの実行結果をテキス...
-
VBからACCESSのレポートをプレ...
-
Solaris 9 の VNCServer を ine...
-
CSHが使えない REDHAT
-
フロッピーディスクの読み込み方法
-
バッチファイル内置換
-
CygwinをインストールしたけどX...
-
誰かにサーバにあるデータを消...
-
メーリングリスト宛てのメール...
-
batファイル 行った履歴をテキ...
-
expectの使い方について
-
【Mac/Xcode】カレントディレク...
-
VBSエラー
-
エクセルVBA 実行時エラー 5029...
-
".bashrc" E509: バックアップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチスクリプト処理でエラー...
-
バッチファイルで多重起動を防ぐ
-
VBでExcelが起動されているか知...
-
コンソールアプリの起動結果待...
-
Linux環境変数設定(putenv?se...
-
プリンタの状態を知る方法
-
Open Office Org 急に起動しな...
-
「応答なし」の状態を監視する方法
-
PC起動後に・・・
-
Javaのイベントリスナー機能の応用
-
Apache2が起動しません
-
system関数について
-
パソコン のデータ 特にPDFを消...
-
_access関数が EACCES エラーと...
-
Web Developerが正常にインスト...
-
PostgreSQLについて
-
CreateProcessでコンソールアプ...
-
ラズパイ3でsocket接続できない。
-
OLEサーバコンポーネントを作っ...
-
MySQLへのDB::connectで、faile...
おすすめ情報