at을 통해 실행되는 장기 실행 명령의 pid를 가져옵니다.

at을 통해 실행되는 장기 실행 명령의 pid를 가져옵니다.

영구 서버를 생성하고 싶습니다 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.pidnc가 실행 중인 bash의 프로세스 ID가 있습니다.

파일을 cat하여 bash 프로세스 ID를 얻고 이를 종료하여 nc를 종료할 수 있습니다. 그런 다음 rm /var/run/atnc.pid (선택 사항).

관련 정보