簡體   English   中英

Linux Shell腳本:如何創建將在后台運行的服務?

[英]linux shell script: how can I create a service that will run in background?

我有一個簡單的問題,我進行了搜索,但找不到解決方案。

我有一個簡單的shell腳本,每2秒運行一個小的php代碼,我將其編寫並保存為文件:

$ 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,但是它不是服務嗎? 我可以在啟動時啟動它。

你能幫我嗎?

您可以使用以下代碼行來運行腳本(假設您位於腳本所在的目錄中)

nohup every-2-seconds.sh &

&會將其作為后台任務運行,並且即使您與會話斷開連接, nohup也會保持進程運行。

要在重新啟動時啟動它,您需要將此命令添加到crontab中

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

在crontab中,您需要指定完整路徑。 您可以將/dev/null更改為要輸出到的文件(假設您要輸出)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM