백스테이지 과정

백스테이지 과정

백그라운드에서 실행해야 하는 스크립트가 있습니다. 동일한 스크립트를 포그라운드에서 실행하면 스크립트가 제대로 실행되고 수동으로 중단(ctrl^c)할 때까지 멈추지 않습니다.

다음 명령이 백그라운드에서 스크립트를 실행한다고 확신합니다.

sudo -u webs ./spagent_L1 &

위 명령을 실행하면 작업 번호와 프로세스 번호가 제공됩니다.

[1] 10118

그 후 Enter를 두 번 누르면 작업이 중지됩니다.

[1]+ Stopped    sudo -u webs ./spagent_L1

백그라운드에서 실행 중인 작업을 확인하면 작업이 중지된 것으로 표시됩니다.

$> jobs
[1]+ Stopped    sudo -u webs ./spagent_L1

그리고 프로세스가 실행 중인지 확인하면 위 스크립트가 실행 중임을 알 수 있습니다.

$> ps -eo user,ppid,pid,cmd,state | grep -i spagent
root 10118 9383 0 05:42 pts/1 00:00:00 sudo -u webs ./spagent_L1 T
ape  10122 3983 0 05:42 pts/1 00:00:00 grep -i spagent R

프로세스 10118을 종료하지 않는 한 jobs 명령은 프로세스가 중지되었다는 출력을 표시합니다. 프로세스가 종료되면 jobs 명령은 아무것도 반환하지 않습니다.

그렇다면 위의 출력은 프로세스가 아직 실행 중임을 의미합니까? 누구든지 그곳에서 무슨 일이 일어나고 있는지 이해하도록 도와줄 수 있습니까? 그리고 스크립트를 중지하지 않고 백그라운드에서 실행하는 방법도 있습니다.

미리 감사드립니다.

답변1

다음을 수행하여 백그라운드에서 스크립트를 실행할 수 있습니다. (sudo -u webs ./spagent_L1 &)그러면 스크립트를 닫지 않고도 터미널을 닫을 수 있습니다(DE에 있는 경우).

관련 정보