nohup不能与OS X Yosmite一起使用 - 得到错误"无法从控制台分离没有这样的文件或目录"

wei*_*lan 11 macos nohup osx-snow-leopard osx-yosemite

我使用nohup从php应用程序运行命令(我有一个网页,发送POST请求到php服务器,在后台启动一个shell脚本).

就像这样

exec('nohup /home/user/test.sh > /home/user/test.log 2>&1 &')
Run Code Online (Sandbox Code Playgroud)

当我使用OS X Snow Leopard(OS X 10.6)时,这很好用.但是,最近我将我的MAC升级到OS X Yosemite(OS X 10.10),现在它不再起作用了.

在test.log中,我总是收到消息:nohup can't detach from console: no such file or directory.

如果我只是直接在bash中运行相同的命令,它工作正常.我做了很多搜索,但似乎我找不到任何有用的问题.我只看到关于詹金斯的讨论,似乎他们也看到了类似的问题.

任何人都知道为什么它会与优胜美地开始失败?任何输入将不胜感激.

Bra*_*ser 22

你在tmux中运行吗?我刚刚遇到这个问题,启动了一个没有tmux的新终端,而且工作正常.

请参阅此tmux问题以解释为什么会发生这种情况.它源于OS X中的一个怪癖.https://github.com/tmux/tmux/issues/443

  • 你知道为什么tmux会导致这个问题吗? (3认同)