停止しているプロセスを再始動させる

次に述べる手順は、Ctrl-Z キーにより停止しているプロセスを、再始動する方法です。

注: Ctrl-Z は、Korn シェル (ksh) および C シェル (csh) では機能しますが、Bourne シェル (bsh) では機能しません。 停止しているプロセスを再始動できるのは、そのプロセスを開始したユーザーか、root ユーザー権限を持っているユーザーのみです。
  1. システム上で、実行中の、または停止しているすべてのプロセスは表示するが、kill されたプロセスは表示しないようにするには、次のように入力します。
    ps -ef
    このコマンドを grep コマンドにパイピングして、ユーザーが再始動させたいと思う可能性が高いプロセスだけにリストを限定できます。 例えば、vi セッションを再始動させたい場合は、次のように入力できます。
    ps -ef | grep vi
    このコマンドが表示するのは、vi というワードを含んでいた ps コマンド出力からの行のみです。 出力は次のようになります。
    UID    PID   PPID   C      STIME       TTY  TIME  COMMAND
    root   1234  13682  0      00:59:53    -    0:01  vi test
    root  14277  13682  1      01:00:34    -    0:00  grep vi
  2. ps コマンドの出力の中から、再始動したいプロセスを見つけて、その PID 番号を書き留めます。 この例では、PID は 1234 です。
  3. 次のように入力して、停止しているプロセスに CONTINUE シグナルを送ります。
    kill -19 1234
    1234 の代わりに、実際のプロセスの PID を使用してください。 -19 は CONTINUE シグナルを示しています。 このコマンドは、プロセスをバックグラウンドで再始動させます。 プロセスをバックグラウンドで実行できる場合は、このプロシージャーはこれで終わりです。 プロセスをフォアグラウンドで実行する (vi セッションの場合のように) 必要がある場合は、次のステップに進む必要があります。
  4. プロセスをフォアグラウンドで実行させる場合は、次のように入力します。
    fg 1234
    ここでも、1234 の代わりに実際のプロセスの PID を使用してください。 これでプロセスは、フォアグラウンドで実行されます。 (これで vi 編集セッションになります。)