LabVIEWを使用してWindowsプロセスを終了する

更新しました Apr 18, 2019

使用製品

ソフトウェア

  • LabVIEW

問題

Windowsのタスク マネージャーのようにLabVIEWでプロセスを終了するにはどうすればよいですか?
もう1つのタスクはLabVIEWに必要なリソースを使用することですが、どうすればこの競合を解決できますか?

解決策

LabVIEWでシステム実行VIを使用すると、Windowsコマンドプロンプトを呼び出すことができます。ウィンドウコマンドプロンプトから、taskkillコマンドを使用してプロセス(タスク)を終了することができます。たとえば、メモ帳を閉じたい場合は、次のコマンドを使用できます。
 

taskkill /f /im notepad.exe

 

以下のVIスニペットは、フロントパネルでタスク名を文字列入力して、それをtaskkillコマンドの末尾に追加してから、システム実行VIのコマンドライン入力に渡しています。これにより、指定されたプロセスが終了します。タスク名はタスク マネージャーに表示されるとおりに入力する必要があります。
(例: calc.exe、excel.exe、explorer.exe、nifb.exe)。
 



 

メモ: この画像は、プロジェクトで再利用できるLabVIEWコードを含むLabVIEWスニペットです。スニペットを使用するには、画像を右クリックしてコンピュータに保存し、ファイルをLabVIEWダイアグラムにドラッグします。

追加情報

関連リンクには、NIコミュニティに掲載されているサンプルプログラムもあります。
 

タスクを一時停止する

プログラム間におけるリソースの競合を解決するための潜在的な方法は、タスクを突然終了するのではなく、一時停止することです。これは、マイクロソフト社が提供するPsToolsを介して実行できます。このツールをインストールしてシステム実行VIに以下のコマンドを使用します。
 

pssuspend insert_task_here.exe


タスクは後ほど以下のコマンドで再開することができます。
 

pssuspend -r insert_task_here.exe