ÔõÑùÅжÏÒ»¸öshell³ÌÐòÒѾÔÚÔËÐÐ?
ÓÐʱºò²¿ÊðµÄshell½Å±¾,ÔÚÒ»¸ö»·¾³ÖÐ,Ö»ÄÜÔËÐÐÒ»¸ö,ΪÁË·ÀÖ¹ÆäËüÈËÎóÆô¶¯,±ØÐë¼ÓÒÔÅжÏ,Èç¹ûÒѾÔÚÔËÐÐ,¾ÍÍ˳öÈ¥,²»Ö´ÐÐ.²»ÖªµÀ´ó¼ÒÓÐûÓÐʲôºÃµÄ˼·,¿¿shell½Å±¾Ãû×ֵķ½Ê½,Ò»°ãÎÒ¶¼²»¿¼ÂÇÁË,²»ºÃÓÃ.>
>
>
[[i] ±¾Ìû×îºóÓÉ linux120 ÓÚ 2007-10-12 09:29 ±à¼ [/i]] ¼òµ¥µÄ¿ÉÒÔÓà ps -ef | grep xxx | grep -v grep À´ÅжÏ
µØµÀµãµÄ
Ó¦¸ÃÔÚ³ÌÐòÔËÐÐʱÉú³ÉÒ»¸öpidÎļþ
¼Ç¼Õâ¸ö³ÌÐòµÄpidºÅ
ÿ´Î³ÌÐò¿ªÊ¼ÔËÐÐʱ¶¼¼ì²éÕâ¸öÎļþ¼°ÎļþÀï¼Ç¼µÄpidÊÇ·ñÔÚÔËÐÐ ÎÒÊǾõµÃÓÃpidµÄ·½Ê½ºÃһЩ,²»¹ý²»ÖªµÀÓÐûÓÐÆäËüµÄ°ì·¨ÁË:
[code]
PIDLock=/tmp/.program.lock
if [ -r $PIDLock ];then
cat $PIDLock | read pid
kill -0 $pid > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "The same program is running now."
exit 1
fi
fi
echo $$ > $PIDLock
[/code] ¿ÉÒÔÓÃpidof ºÍ pgrep ÃüÁî¡£
Ò³:
[1]