Nit*_*ked 6 bash upstart redirect
所以我想在我的脚本节中使用以下内容:
forever -l >(tee $QW_LOG_DIR/webserver.log | logger -p user.info -t '[QW]') start webserver.js
Run Code Online (Sandbox Code Playgroud)
但是,这行不通,因为:
这是 bash 语法,并且:
该>(...)
构造在我实际创建之前创建了一个进程forever
,因此 upstart 将跟踪错误的 pid。
......至少我是这么认为的,我是一个新贵的新手。
我的想法是,为了绕过这两个问题,我应该mkfifo
在我的pre-start
节中使用,以便我可以在我的启动脚本中写入 fifo。
问题:
(tee | logger)
“在后台”运行该部分,大概是在pre-start
?post-end
节中删除它?如果您需要从 Upstart 调用 Bash 脚本,您可以将该脚本放入文件中并通过以下exec
节调用它:
exec /bin/bash /path/to/my-bash-script.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n如果您在 script\xe2\x80\x99s 开头放置一个合适的 shebang ( #!/bin/bash
) 并使文件可执行,您甚至可以直接执行它:
exec /path/to/my-bash-script.sh\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
224 次 |
最近记录: |