无法启动脚本
#!/bin/bash
value=$(<man.txt)
echo "$value"
if [ "$value" == "true" ]; then
echo "startedif_manthan"
ps -ef|grep sym |awk '{ print $2 }'|sudo xargs kill -9;
sleep 30;
sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
fi
嗨那里,我有这个脚本杀死一个进程,并在一段时间内重新启动脚本。
它正在查杀脚本,但重启脚本(sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server)运行不正常。
当我手动运行脚本时,它也给出问题。
我不知道它是否是shell脚本。
但是,当我试图手动去脚本位置并执行此命令./sym --port 8082 --server脚本正常运行。无法启动脚本
有什么建议吗?
既然你说的它的工作原理确定,当您cd
到脚本目录,然后执行该脚本:
#!/bin/bash
value=$(<man.txt)
echo "$value"
if [ "$value" == "true" ]
then
echo "startedif_manthan"
ps -ef|grep sym |awk '{ print $2 }'|sudo xargs kill -9
sleep 30
(cd /var/www/symmetric-ds-3.1.6/bin; sudo sh ./sym --port 8082 --server)
fi
我试过了。这是杀死进程,它不会在括号中运行脚本。 – user1597811 2013-02-14 06:49:39
我明白了,bcoz脚本本身是匹配模式来杀死它本身就是自杀 – user1597811 2013-02-14 07:03:16
它可能会杀死'grep sym' ...要非常小心地匹配太多的进程。我使用的一个技巧是'grep'[s] ym'';方括号表示它不会匹配自己,但会匹配'sym'过程。但我仍然担心在其他进程中出现'sym'。 – 2013-02-14 07:23:44
什么是当你执行shell脚本,你得到的错误信息? – Incognito 2013-02-14 05:52:57