我在 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
...
在我停止进程之前获得上述输出的窗口之外的窗口中。