如何使用 bash -c 运行后台进程

Yur*_*rau 2 bash background-process

我有一个启动后台进程的命令

./daemon.sh &

它工作正常,但是当我尝试按以下方式运行它时

bash -i -c "./daemon.sh & ; ./another_daemon.sh &"

它抛出异常 bash: syntax error near unexpected token `;'

有什么方法可以启动后台进程 bash -i -c "..."

PSk*_*cik 5

这不是-c问题。

您需要在;之后丢失&。shell 语法不接受分号和 & 号。以下任何一种都是可以接受的

bash -i -c "... ; ..."
bash -i -c "... & ..."
Run Code Online (Sandbox Code Playgroud)

bash -i -c "... & ; ..."无效。

  • 与号和分号都是命令终止符;使用两者意味着分号终止一个空命令,而`bash` 的语法不允许空命令。`./daemon.sh & ./another_daemon &` 就足够了。 (2认同)