【发布时间】:2015-09-29 03:41:01
【问题描述】:
我在 bash 脚本中有一个函数,如果进程正在运行,我想返回 true,否则返回 false。我的函数的代码是:
checkProcess() {
if [ kill -s 0 $(getPid) > /dev/null 2>&1 ]; then
return 0
else
return 1
fi
}
当我使用此功能时,它似乎不起作用。我是这样使用的:
if [ ! checkProcess ]; then
#do something, like rm file containing PID
fi
但是,如果我只使用下面的实现,它就可以正常工作:
if [ ! kill -s 0 $(getPid) > /dev/null 2>&1 ]; then
#do something, like rm file containing PID
fi
这是有原因的吗?我没有在我的函数中返回正确的值吗?还是这一切都被错误地实施了?
【问题讨论】:
标签: bash function boolean return kill