pid — 프로세스 식별자 얻기
pid — 프로세스 식별자 얻기
실행 중인 프로세스가 기술적으로 어떤 ID를 갖고 있는지 궁금할 때가 있죠. pid 명령은 현재 프로세스의 ID를 알려주고, 파이프라인(파이프)을 열었다면 그 안의 모든 프로세스 ID를 한꺼번에 돌려줘요.
본문
pid ?fileId?
fileId 인수가 주어지면, 보통 open 명령으로 만든 프로세스 파이프라인을 가리켜야 해요. 이 경우 pid 명령은 파이프라인에 있는 모든 프로세스의 프로세스 식별자를 순서대로 담은 리스트를 돌려줘요.
fileId가 프로세스 파이프라인이 아닌 열린 파일을 가리키면, 리스트는 비어 있어요.
fileId 인수가 없으면 pid는 현재 프로세스의 프로세스 식별자를 돌려줘요. 모든 프로세스 식별자는 십진 문자열로 반환돼요.
예제
파이프라인의 출력을 읽기 전에 SysV ps 프로그램으로 파이프라인에 있는 프로세스들의 정보를 출력하는 예시예요.
set pipeline [open "| zcat somefile.gz | grep foobar | sort -u"]
# Print process information
exec ps -fp [pid $pipeline] >@stdout
# Print a separator and then the output of the pipeline
puts [string repeat - 70]
puts [read $pipeline]
close $pipeline
더 알아보기
exec— 외부 프로그램을 실행해요open— 파일이나 파이프라인을 열어요