nohup node service
CentOS 7에서 cron 작업을 사용하여 실행 하고 싶습니다 . 이를 위해 /home/guest/start_indexjs
다음과 같은 파일을 만들었습니다.
#!/bin/bash
if pgrep -f "index.js" >/dev/null; then
echo "index.js is Running."
else
echo "index.js is Stopped."
nohup node /root/demo/index.js > /root/index-nohup.log &
fi
로그인 ssh root
하고 다음 명령을 실행합니다.
cd /home/guest/
chown root start_indexjs
chgrp -R root start_indexjs
chmod +x start_indexjs
/home/guest/start_indexjs
매 순간 달리고 싶었어요. 이를 위해 다음 줄을 추가했습니다 /etc/crontab
.
*/1 * * * * root /home/guest/start_indexjs > /var/log/start_indexjs.log
/var/log/start_indexjs.log
다음 권한으로 생성합니다 .
-rwxrwxr-x 1 root root 179 Aug 12 12:31 start_indexjs
그런 다음 crond
다음 명령을 사용하여 서비스를 다시 시작했습니다.
systemctl restart crond.service
결국 내 cron 작업은 실행 중이지만 /home/guest/start_indexjs > /var/log/start_indexjs.log
실행될 때 cron 작업 내에서는 내 작업이 index.js
실행되지 않습니다. index.js
다음 명령을 사용하여 실행 중인 프로세스가 없습니다.
ps -ef | grep index.js
답변1
- 현재 경우 에 스크립트를 실행하려면
crond
모든 바이너리에 대한 전체 경로를 제공해야 합니다.pgrep
node
nohup
필요 없음.crond
터미널을 할당하지 않고 스크립트를 실행합니다.