Linux CentOS で次の C コードを実行して、プロセスを作成しました。
#include <stdio.h>
#include <unistd.h>
int main ()
{
int i = 0;
while ( 1 )
{
printf ( "\nhello %d\n", i ++ );
sleep ( 2 );
}
}
hello_count にコンパイルしました。./hello_count
ターミナルウィンドウで行うと、出力は次のようになります。
hello 0
hello 1
hello 2
...
別の端末ウィンドウでコマンドを入力すると
ps -e
プロセス 2956./hello_count
がそこにリストされています。同じウィンドウで、次を使用してプロセスを停止しました。
kill -s SIGSTOP 2956
次のコマンドをもう一度入力すると、
ps -e
プロセス 2956./hello_count
はまだリストされています。
次に、次のコマンドを入力して、同じウィンドウ自体でプロセスを再開しました。
kill -s SIGCONT 2956
ただし、プロセスは、実行して出力を行っていた前のウィンドウで再開されました。
別のターミナル ウィンドウで pid 2956 のプロセスを再開する (再起動しない) コマンドまたは方法はありますか?
つまり、次のような出力が必要です。
hello 8
hello 9
...
プロセスを停止する前に上記の出力を取得していたウィンドウ以外のウィンドウで。