一些守护进程使用的技巧是打开一个新创建的临时文件句柄,将其从文件系统中删除,然后执行文件描述符。
这可以从C完成,但我很好奇这是否可以从shell脚本中获取?
运行临时二进制文件的示例用例:
def remove(u:List[Int]):List[Int] = {
u match { case Nil => u
case hd::hd2::tl => if(hd == hd2) remove(hd2::tl) else hd :: remove(hd2::tl)
case hd::tl => hd :: remove(tl)
}
}
文件描述符。这种方式exec
接管了整个过程,我们无需担心清理临时文件。
答案 0 :(得分:1)
我认为这大致相同,非常简单:
cp /path/to/the/executable /tmp/blah
/tmp/blah arg1 arg2 &
rm -f /tmp/blah
wait
最后的wait
将会阻止,直到后台(&
)作业完成。
在运行此代码之前,请务必添加错误检查或set -e
,否则您可能会执行或删除您不想要的内容。并且您可能希望生成唯一的临时文件名,而不是blah
。