2
運行我有這個腳本,我在網上找到從FIFO讀取,並將其導入到MySQL:使腳本只有在另外的實例沒有運行
#
# Created by Tadghe Patrick Danu
#
#!/bin/bash
if [ -e /tmp/mysql.pipe ]; then
while [ -e /tmp/mysql.pipe ]
do
mysql -u syslog --password=mypassword syslogdb < /tmp/mysql.pipe
done
else
mkfifo /tmp/mysql.pipe
fi
我已安排此腳本的cron運行工作和它的工作,但是,每次運行時,它會產生一個新的實例,所以當我看着這些進程時,我看到一堆正在運行的腳本。我如何才能讓它只在沒有運行的情況下運行?我想一次只運行一個這樣的實例。
感謝,
'cron'用於需要定期運行的事情,而不是需要運行一次並保持運行的事情。我認爲你想開始這個服務,而不是。 – chepner 2014-10-03 16:58:32
在shell中執行互斥鎖的正確方法是使用'fuser',但保持服務運行的正確方式與「cron」完全沒有關係。 – 2014-10-03 23:31:34