ワーカースレッドプールを使用してタスクを実行するJavaプログラムがあります。これらのスレッドは動的であるため、プログラムはスレッドを動的に作成して削除します。変数がtrueの場合、スレッドは実行中です。
public void run() {
while (!exit) {
したがって、スレッドを停止するのは、この変数をfalseに設定することです。
- このスレッドIDはディレクトリにあります
/proc/$pid/task/$tid
。 - ワーカースレッドには特定の名前があるので
/proc/$pid/task/$tid/comm
。
ただし、スレッドを停止した後でも$tid
約10分間サブディレクトリを見つけることができます。また、/proc/$pid/task/$tid/status
Javaスレッドを停止した後も何の違いもありません。
私はこのような(RedHat)Linuxプロセス/モニタリングに初めて触れましたが、疑問に思いました。 Javaワーカースレッドが停止したことを「リアルタイムで」知る方法はありますか?