CentOS でバックグラウンド プロセスを管理する方法

CentOS でバックグラウンド プロセスを管理する方法

CentOS を使用していますが、以下の方法がわかりません。

  1. 現在実行中のバックグラウンド プロセス/ジョブのリストを表示します。
  2. プロセスをバックグラウンドで実行する方法。
  3. バックグラウンドのプロセスを停止する方法。

バックグラウンドで実行したいコマンドは次のようになります。

activator run

これまでのところ、このコマンド(バックグラウンドでプロセスを実行する)だけが見つかりました。

nohup activator run &

答え1

それはおそらく、主にシェルに依存しますbash(1)。他のほとんどの最新のシェルは、同様の(または同一の)ジョブ制御機能を提供します。

  • バックグラウンドでコマンドを開始するには、command &またはnohup command &(ログアウトしてもコマンドを実行し続けたい場合)を実行します。
  • 実行中のコマンドを停止するにはC-z(ctrl-Z)、停止したコマンドをバックグラウンドにするには を実行しますbg。 を使用すると、コマンドをフォアグラウンドに戻します。 は、何が停止しているか、またはバックグラウンドにあるかを示します。はジョブ番号 を強制終了し、(または単に) はそれをフォアグラウンドに戻します。 停止したジョブをバックグラウンドで開始するには、 (または単に) を使用します。fgjobskill %kkfg %k%kkbg %k%k &

もう少しあります。

もう一つの非常に柔軟な方法は、 を使用することですscreen(1)。マニュアル ページを確認してください。これを使用すると、コマンドを開始して切断し、後で別の端末 (またはネット上の別のマシン) から接続することができます。

答え2

あなたのアプローチはうまくいくはずです...

仕事を始めるnohup activator run &

何が実行されているか確認するjobs -l

で停止しますkill PID(PIDは で取得できますps -ef | grep activator


私は個人的にはscreen--http://linux.die.net/man/1/スクリーン

仕事を始めるscreen -d -m activator run

スクリーンセッションを確認するscreen -ls

screen -xスクリーンセッションIDに続いてスクリーンウィンドウにアクセスして停止します。

関連情報