我的Makefile看起来像这样:
setsid ./CppServer>daemon.log 2>&1 &
echo $!>daemon.pid
Run Code Online (Sandbox Code Playgroud)
我期望它做的是将my_awesome_script的PID存储在相应的文件中.然而,那里什么都没有.那么问题出在哪里?
如果你的 makefile 确实像这样,你会得到一个错误,因为我没有看到任何实际的 make 语法,只有 shell 语法。然而,我的水晶球告诉我,这两行可能是规则配方的一部分。如果是的话,您应该了解 make 如何执行配方;对于每一行,都会创建一个单独的子 shell,其中该行的命令是独立执行的:您的两个命令不了解彼此的环境。如果您希望在同一个子 shell 中执行两个命令,则应将它们作为一行发出(如有必要,使用行继续字符),或使用 make 的 ONESHELL 指令。
| 归档时间: |
|
| 查看次数: |
2911 次 |
| 最近记录: |