shell使用&后并没有执行
#!/bin/csh
while ( 1 )
echo "hello" >> log.txt
sleep 5
end
原理上shell执行上面的脚本会生成log.txt文件的,但是我在一台hp-unix上执行时发现使用&符号使之变为后台作业之后便无法生成log.txt,也就是,程序没有执行,执行步骤如下:
./test.sh &
当不加&符号时,程序执行正确,当将此程序拷至其它机子时,没有这类问题,有经验的大神们,说说这是上面问题啊
------解决方案--------------------先用ps aux
------解决方案-------------------- grep 这个shell,看看到底在不在运行
------解决方案--------------------
加&就是放后台执行呀,前台看不到
------解决方案--------------------应该是nohup ./test.sh &
你掉了nohup
------解决方案--------------------用完整路径
#!/bin/csh
while ( 1 )
echo "hello" >> /tmp/log.txt
sleep 5
end
------解决方案--------------------
是的。
因为crontab的环境变量比较特殊。
------解决方案-------------------- 受教了````
------解决方案--------------------
不需要查资料,记住一句话就行了:
crontab里面尽量使用完整路径
------解决方案--------------------
后台执行与crontab有关吗?以前不知道啊