본문 바로가기

방금 실행한 프로세스의 ID (PID)를 가져오는 방법에는 여러 가지가 있습니다. 다음은 몇 가지 일반적인 방법입니다:

1. $! 변수 사용하기

  • 리눅스 쉘에서, $! 변수는 가장 최근에 백그라운드로 실행된 작업의 PID를 저장합니다. 만약 프로세스를 백그라운드로 실행했다면, 이 변수를 사용해 해당 PID를 쉽게 얻을 수 있습니다.
your_command &
echo $!

이 명령어는 your_command를 백그라운드에서 실행한 후, 바로 그 PID를 출력합니다.

2. ps 명령어와 함께 사용하기

  • ps 명령어는 시스템의 현재 실행 중인 프로세스 목록을 보여주며, 이를 통해 방금 실행한 프로세스의 PID를 찾을 수 있습니다. 예를 들어, 특정 명령어 이름으로 실행된 프로세스의 PID를 찾으려면 다음과 같이 할 수 있습니다:
ps -ef | grep your_command_name | grep -v grep

이 명령어는 your_command_name을 포함하는 모든 프로세스를 찾아 출력합니다. 그러나 이 방법은 여러 인스턴스가 실행 중일 경우 정확한 PID를 식별하기 어려울 수 있습니다.

3. pidof 명령어 사용하기

  • pidof 명령어는 특정 프로세스의 이름을 인자로 받아 해당 프로세스의 PID들을 출력합니다. 다만, 이 명령어는 동일한 이름의 프로세스가 여러 개 실행 중일 때 모든 PID를 출력하기 때문에, 가장 최근에 실행한 프로세스만을 식별하기 어려울 수 있습니다.
pidof your_command_name

4. 명령어 실행과 동시에 PID 얻기

  • 특정 스크립트나 명령어를 실행하면서 동시에 PID를 얻기 위한 스크립트를 작성할 수도 있습니다. 예를 들어, 다음과 같이 스크립트 안에서 PID를 출력하도록 할 수 있습니다:
your_command &
PID=$!
echo "PID: $PID"

위 방법들 중 상황에 가장 적합한 방법을 선택하여 사용하시면 됩니다.

 

리눅스 프로세스 ID가져오기

 

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.