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
...
내가 다른 터미널 창 과정 2956 ./hello_count
가이 목록에
ps -e
으로 명령을 입력합니다. 과정 2956 ./hello_count
가 여전히 목록에
kill -s SIGSTOP 2956
내가 다시 다음 명령을 입력
,ps -e
: 같은 창에서 내가 사용하여 프로세스를 중지했습니다.
다음 명령을 입력하여 동일한 창에서 프로세스를 다시 시작합니다.
kill -s SIGCONT 2956
그러나 프로세스가 실행되어 출력을 제공하는 이전 창에서 재개되었습니다.
다른 터미널 창에서 pid 2956으로 프로세스를 재시작 (재시작하지 않음) 할 수있는 명령이나 방법이 있습니까? 내 말은
, 난이 과정을 중단했습니다 전에 위의 출력을 얻고 있었다있는 것과 다른 창에 출력 등,
hello 8
hello 9
...
이 필요합니다.
맨 위 화면이 원하는 내용입니다. – bmargulies
AFAIK이 작업을 수행 할 수 없습니다. –
가능한 복제본 [명령 줄을 통해 중지 된 프로세스 다시 시작] (http://stackoverflow.com/questions/10700312/resume-a-stopped-process-through-commandline) – mathieu