psを使用した前景プロセスの表示

psを使用した前景プロセスの表示

psを使用してバックグラウンドプロセスを表示できます。しかし、フォアグラウンドプロセスを見る方法はありますか?例えば、

$nohup プロセス1 &

それから

ps -ef | grep「プロセス1」

実行中のプロセス「process1」が表示されます。ただし、上記のコマンドは実行されたフォアグラウンドプロセスを表示しません。例えば、

$プロセス2

答え1

デフォルトでは、同じ端末ウィンドウで開始されたプロセスなど、呼び出しが行われた端末psのプロセスが表示されるため、混乱する可能性があります。ps

ps -u $LOGNAME端末名がわかっている場合は、またはを試してくださいps -t $THETTYNAME1,$THETTYNAME2。 (ターミナル名は通常「ttyN」または「pts / N」と同じです)。

答え2

奇妙なことに、psコマンドを使用すると、フォアグラウンドとバックグラウンドの両方ですべてのアクティブプロセスの状態を監視できます。

たとえば、最初のシェルで次のプロセスを開始します。

$ startNetworkServer 
Security manager installed using the Basic server security policy.
Apache Derby Network Server - 10.3.2.1 - (599110) started and ready to accept connections on port 1527 at 2010-06-18 14:14:33.277 GMT 

他のシェルから:

$ ps aux  | grep NetworkServer | grep -v grep
pascal    5928  0.3  1.4 661492 29216 pts/0    Sl+  16:14   0:03 /usr/lib/jvm/java-6-sun/bin/java -classpath /usr/share/javadb/lib/derby.jar:/usr/share/javadb/lib/derbynet.jar:/usr/share/javadb/lib/derbytools.jar:/usr/share/javadb/lib/derbyclient.jar org.apache.derby.drda.NetworkServerControl start

プロセスが期待どおりにリストされます(そして+フォアグラウンドプロセスグループにあることを示します)。

答え3

質問:

「フォアグラウンドプロセスを見る方法はありますか?」問題は、ps -efフォアグラウンドで実行されているプロセスがまだ表示されないと主張します。

答え:

はい、方法があります。返品:ps -ef するフォアグラウンドで実行されているプロセスを表示する -しかし、それは表示されません状態手続き上。これはman psドキュメント()に記載されており、簡単な実験で確認できます。次の例を考えてみましょう。

端末で次を実行します。

ping 8.8.8.8 > /dev/null

他の端末から:

ps -ef | grep ping | grep -v grep
seamus        1161   974  0 23:20 pts/1    00:00:00 ping 8.8.8.8

メモはps -efありません状態出力に情報が含まれます。しかし、man ps説明状態情報利用可能-oキーワードで使用されるパラメータstat

ps -eo pid,stat,command | grep ping | grep -v grep
 1161 S+   ping 8.8.8.8

これは私たちに次のことを伝えます。

  • プロセスPIDは1161キーワードによって決定されますpid
  • プロセス状態S+キーワードを通してstat
  • キーワードcommand表示がping 8.8.8.8プロセスを生成します。

これ状態S+復号化man psタイトルの下にPROCESS STATE CODE。これは私たちに次のことを伝えます。

S中断可能なスリープ(イベントが完了するまで待機)
+フォアグラウンドのプロセスグループ

量子電気力学

ps -ef我々は、PIDを使用したプロセスがリストされ公開され1161ps -eo pid,stat,commandいるのを見ました。状態PID1161展望プロセス。


注1: キーワード-o引数はタイトルの下で説明されています。キーワードが2文字を生成するプロセスについては、ここで説明します。man psSTANDARD FORMAT SPECIFIERSstat状態、キーワードはstate1文字だけを生成しますが、状態

ノート2:これは私のDebianベースのシステム(バージョンとして報告されているps from procps-ng 3.3.15)とmacOS 10.15(BSDバージョンから派生したps)で動作します。

関連情報