93

CentOS (Linux ディストリビューション) を実行しているサーバーに SSH 接続でアクセスしています。常にログインしているわけではないので、「nohup [command] &」を使用してプログラムを実行しています。

nohup を使い始めたすべてのプログラムのリストを取得する方法が見つかりませんでした。「ジョブ」は、ログアウトする前にのみ機能します。その後、再度ログに記録すると、jobs コマンドには何も表示されませんが、プログラムがまだ実行されていることをログ ファイルで確認できます。

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

4

5 に答える 5

132

で始めたとき$ nohup storm dev-zookeper

METHOD1 :を使用してjobs

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

注: jobsnohup プロセスは、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] 

?=>nohup実行中のプログラムを含むTTY列。

説明

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

参照

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

于 2014-06-25T18:08:40.543 に答える
22

「nohup.out」への標準出力リダイレクトがある場合は、このファイルを使用している人を確認してください

lsof | grep nohup.out
于 2013-05-29T09:21:25.690 に答える
6

You can also just use the top command and your user ID will indicate the jobs running and the their times.

$ top

(this will show all running jobs)

$ top -U [user ID]

(This will show jobs that are specific for the user ID)

于 2014-09-24T07:30:18.960 に答える