이 세션에서 시작된 프로세스

이 세션에서 시작된 프로세스

터미널 세션을 열고 일부 프로세스를 시작했습니다 &. 터미널 창을 닫으려고 하면 백그라운드에서 아직 실행 중인 작업이 있다는 경고 메시지가 나타납니다.

실행 중인 프로세스를 볼 수 있지만 ps이 세션을 통해 어떤 프로세스가 시작되었는지 어떻게 알 수 있나요?

답변1

jobs -l
활성 작업의 프로세스 ID 나열

답변2

bash현재 세션에서 시작된 모든 백그라운드 프로세스를 찾으려면 jobs내장 기능을 사용할 수 있습니다 bash.

에서 help jobs:

jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
Display status of jobs.

Lists the active jobs.  JOBSPEC restricts output to that job.
Without options, the status of all active jobs is displayed.

반면, bash이 세션에서 시작된 모든 프로세스를 찾으려면 이 $$변수를 사용 bash하면 현재 인스턴스의 PID를 얻을 수 있습니다 bash. 그런 다음 명령 출력을 구문 분석하여 ps -ef상위 프로세스 ID(PPID)가 다음과 같은 모든 프로세스를 찾을 수 있습니다 $$.

ps -ef | grep -P "^[^ ]+\s+[^ ]+\s+$$\s"

답변3

ps -auxf백그라운드 프로세스가 어떤 쉘에 속해 있는지 확인하려면 실행하세요 .

관련 정보