1

背景:DOSSTARTコマンドを使用してMyDaemonを起動します。

@echo off
START "MyDaemon" java -cp test.jar MyTest /B

その一環として、MyDaemonがすでに実行されているかどうかも確認したいと思います。もしそうなら、私はそれを再開したくありません。

私の要件に合わないdosコマンドは次のとおりです。

tasklist /fi "imagename eq "MyDaemon" > nul
if errorlevel 1 start "MyDaemon" java -cp test.jar MyTest /B

これは、タスクリストのイメージ名が「MyDaemon」ではなく「java.exe」であるためです。イメージ名ではなく、タスクマネージャーに表示される「アプリケーション名」を探しています。

では、このチェックを実行して、MyDaemonがすでにDOSを使用して実行されているかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

2

あなたは試すことができます:

tasklist /fi "windowtitle eq MyDaemon"

tasklist /?と入力します 詳細については。

于 2012-06-07T19:19:23.923 に答える
0

いいえ、列挙できるのはプロセスのみです。プロセスがパラメータ('など)を使用して起動されている場合、それらを表示することはできません。

プロセスのアプリケーション名(またはメインウィンドウのタイトル)を取得するための.NETのソリューションを提供できますが、dosではそれができないと思います。

于 2012-06-07T18:37:38.217 に答える