우분투 운영 체제에서 쉘을 열고 다음과 같은 방법으로 matlab과 같은 소프트웨어를 연다고 가정해 보겠습니다.
matlab &
MATLAB GUI에서 시스템 명령을 실행합니다.
system('/path/to/my/cppprog') % <-- PID of this running program?
그곳에서 나는 "cppprog"라는 C++ 프로그램을 시작했습니다.
이제 내가 시작한 프로그램과 관련된 프로세스 ID를 찾고 싶습니다. 어떻게 해야 합니까? 다른 명령줄 인수를 사용하여 동일한 프로그램의 여러 시스템 명령을 호출할 수 있습니다.
답변1
스크립트 pid
가 아닌 셸에서 가져오는 것을 의미한다고 가정합니다 .matlab
matlab
다음과 같이 스크립트의 모든 하위 항목을 볼 수 있습니다 .
matlab &
pstree -ap $!
$!
백그라운드에서 실행한 마지막 명령의 pid입니다. 마지막 항목이 아닌 경우 matlab
의 pid를 찾거나 현재 셸의 pid를 pidof matlab
사용하여 해당 셸의 모든 하위 항목을 표시합니다.$$
matlab