1. ホーム
  2. linux

[解決済み] nohupで起動中のプログラム一覧を取得する方法

2023-02-28 19:20:32

質問

CentOS (Linuxディストリビューション) が動作するサーバーにSSH接続でアクセスしています。 私は常にログインしたままにすることができないので、私はプログラムを実行するために "nohup [command] &" を使用します。

nohup を使用して開始したすべてのプログラムのリストを取得する方法を見つけることができませんでした。 "jobs" は、私がログアウトする前にのみ動作します。その後、私が再びログインすると、jobs コマンドは何も表示しませんが、ログ ファイルで私のプログラムがまだ実行されていることを確認することができます。

私が "nohup" を使用して開始したすべてのプログラムのリストを取得する方法はありますか?

どのように解決するのですか?

で始めたら $ nohup storm dev-zookeper ,

METHOD1 : 使用方法 jobs ,

prayagupd@prayagupd:/home/vmfest# jobs -l
[1]+ 11129 Running                 nohup ~/bin/storm/bin/storm dev-zookeeper &

note: jobs が表示されている同じターミナルセッションでのみ、nohup プロセスを表示します。 nohup が起動されたのと同じターミナルセッションでのみ表示されます。ターミナルセッションを閉じたり、新しいセッションで試した場合は nohup のプロセスが表示されません。METHOD2 を推奨

METHOD2 : を使って ps コマンドを使用します。

$ ps xw
PID  TTY      STAT   TIME COMMAND
1031 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
10582 ?        S      0:01 [kworker/0:0]
10826 ?        Sl     0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto
10853 ?        Ss     0:00 sshd: vmfest [priv] 

TTYカラムに ? => nohup を実行している。

説明

  • TTY列 = プロセスに関連付けられた端末
  • STAT カラム = プロセスの状態
    • S = 割り込み可能なスリープ (イベントの完了を待つ)
    • l = マルチスレッド (NPTL pthreads が行うように CLONE_THREAD を使用)

参照

$ man ps # 次に検索 /PROCESS STATE CODES