![아무 작업도 수행하지 않는 이름으로 프로세스를 시작하려면 어떻게 해야 합니까?](https://linux55.com/image/60316/%EC%95%84%EB%AC%B4%20%EC%9E%91%EC%97%85%EB%8F%84%20%EC%88%98%ED%96%89%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
아무것도 하지 않고 계속 실행 중인 프로세스를 시작하고 싶습니다. 라는 프로세스를 시작한다고 가정해 보겠습니다 sadhadxk
. 이를 실행하면 pgrep -x "sadhadxk"
일반 프로세스와 마찬가지로 PID 번호를 얻습니다.
그렇다면 가상 프로세스를 시작하는 방법이 있습니까?
답변1
다음을 수행할 수 있습니다.
perl -MPOSIX -e '$0="sadhadxk"; pause' &
이를 지원하는 시스템에서 프로세스 이름과 argv[0]을 설정해야 하므로 및 출력 sadhadxk
에 표시되고 ps
및 와 일치해야 합니다 ps -f
.pgrep -x
pgrep -fx
답변2
> bash -c 'exec -a sadhadxk sleep 1000000' &
pgrep
작동하지 않지만
> ps | grep '[s]adhadxk'
18931 [...] sadhadxk 1000000
수정: pgrep
작동하지만 명령 이름(실행 중인 바이너리의 이름)에서는 작동하지 않고 명령줄에서만 작동합니다.
> pgrep -f sadhadxk
18931
답변3
이 시도:
sleep 600 &