我正在编写一个脚本(show_volume.sh),可以在短时间内多次调用.我需要一种方法来确定是否只有一个运行此脚本的实例.我想我可以使用ps
,所以我在Bash中编写了这个函数:
is_only_process(){
PCOUNT=`ps -a | grep show_volume.sh | wc -l`
echo $PCOUNT
if (( PCOUNT==1 )); then
return 1
fi
return 0
}
Run Code Online (Sandbox Code Playgroud)
所以我添加了这两行
is_only_process
sleep 4
Run Code Online (Sandbox Code Playgroud)
并启动了这个脚本一次,但输出echo $PCOUNT
对我没有任何意义.我总是按预期得到值2而不是1.当我运行此命令
ps -a | grep show_volume.sh | wc -l
在脚本运行时从另一个终端,我收到值1.当我连续多次运行此脚本时,几乎相同,例如使用for循环运行10次.当我在使用另一个终端时收到正确的值时,脚本本身会确定太高的值.
现在,为什么这个脚本会确定这些奇怪的值?
我想通过使用WWW :: Mechanize来获取imdb电影的内容.首先,我必须找到一种方法来找到相应的/ title/tt*url.当我有一个叫做斗争俱乐部的电影时,我想访问这个链接:*ttp://www.imdb.com/find?s = all&q = fight + club由于某种原因,这已经失败了.下面是导致错误的行
$mech->get('http://www.imdb.com/find?s=all&q=fight+club');
Run Code Online (Sandbox Code Playgroud)
错误信息:
如果我写了像get(http://www.google.com)这样的东西,它就可以了.使用imdb有什么区别?任何替代解决方案的建议?