![at을 통해 실행되는 장기 실행 명령의 pid를 가져옵니다.](https://linux55.com/image/19794/at%EC%9D%84%20%ED%86%B5%ED%95%B4%20%EC%8B%A4%ED%96%89%EB%90%98%EB%8A%94%20%EC%9E%A5%EA%B8%B0%20%EC%8B%A4%ED%96%89%20%EB%AA%85%EB%A0%B9%EC%9D%98%20pid%EB%A5%BC%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
영구 서버를 생성하고 싶습니다 netcat
. 내가 선택한 명령은 다음과 같습니다.
echo "bash -c \"while [ 1 ]; do nc -l -p 1111 >> check; done\"" | at now
at
필요한 경우 서버를 쉽게 절전 모드로 전환할 수 있도록 생성된 프로세스의 PID를 얻는 방법을 알고 싶습니다 .
답변1
인용 때문에 약간 까다롭습니다. "에서 '로 변경된 점에 유의하세요.
at
다음을 통해 작업을 제출하면 다음이 작동합니다.at -f file
at -f nc.on now
cat nc.on
bash -c 'while [ 1 ]; do echo $$ > /var/run/atnc.pid; nc -l -p 1111 >> check; done'
파일에는 /var/run/atnc.pid
nc가 실행 중인 bash의 프로세스 ID가 있습니다.
파일을 cat하여 bash 프로세스 ID를 얻고 이를 종료하여 nc를 종료할 수 있습니다. 그런 다음 rm /var/run/atnc.pid
(선택 사항).