2014-07-18 5 views
0

간단한 질문이 있는데, 나는 검색을했고 해결책을 찾지 못했습니다. linux shell script : 백그라운드에서 실행될 서비스를 어떻게 만들 수 있습니까?

나는 그것을 쓴 파일로 저장하는 작은 PHP 코드를 2 초마다 실행하는 간단한 쉘 스크립트를 가지고 : 이제

$ cat every-2-seconds.sh 
#!/bin/bash 
while true 
do 
php /home/account/domains/domain.co.il/public_html/my-php-script.php 
sleep 2 
done 

, 난이 스크립트는 항상 배경에서 실행하는 것이 필요하지만, 또한 시작시 실행될 필요가 있습니다. 서비스처럼 항상 백그라운드에서 실행되어야하며 수동으로 시작하고 싶지 않습니다. (물론 뭔가가 발생하면 멈추고 시작할 수 있어야합니다. 수동으로) 나는 nohup에 대해 들었지만 서비스는 그렇지 않습니까? 나는 시작에 시작할 수 있습니다 .. :(이 ??에

당신이 날 도와 줄 수

+1

[cron job] (http://en.wikipedia.org/wiki/Cron)을 사용해보십시오. – bansi

+0

감사합니다!, 그것에 대해 생각했지만, 스크립트는 매 2 초마다 실행됩니다, CronJob에서 1 분이 최소값입니다 : ( –

+0

crontab이'@ reboot' 특수 문자열을 허용하는지 확인하거나'/ etc/init.d' – Fabricator

답변

1
당신은 당신의 스크립트 코드 행으로 실행 할 수 있습니다

(당신이 당신의 스크립트는 디렉토리에서, 가정)

nohup every-2-seconds.sh & 

&은 백그라운드 작업으로이 실행되고 nohup 당신이 세션에서 분리 한 후에도 실행중인 프로세스를 유지합니다.

하는 손 제작 : reboot에 시작 당신은 당신의 전체 경로를 지정해야합니다은 crontab에서 사용자의 crontab을

crontab -e 
@reboot /path/to/every-2-seconds.sh > /dev/null 

에이 명령을 추가해야합니다. 출력하고자하는 파일로 /dev/null을 변경할 수 있습니다 (출력을 원할 경우).

+0

테스트 중입니다. 감사합니다 !! –

관련 문제