sudo screen -dmS



我正在尝试使用shell_exec()PHP脚本启动一个新屏幕,我正在运行的命令正在使用sudo,即sudo screen -dmS [name] ....虽然我能够使用sudo screen -S [name] -X quit完全正确杀死屏幕,但我无法创建一个具有给定名称的新屏幕,有什么想法吗?(顺便说一句,我已经将我的用户添加到了 sudoers 中)

首先,如果您正在执行脚本,请确保该脚本设置了执行标志(如果需要); 如果不是我不怀疑的问题......

这很可能是环境 PATH 的问题。

当您使用要运行的程序启动新的屏幕会话时,您将生成一个具有默认会话设置的新环境;这意味着您的.bashrc.profile或任何 shell 自定义脚本都不会在启动脚本之前运行。

我在这里的假设是,您的脚本正在使用存在于用户 PATH 中的路径轰炸,但不在屏幕会话的 PATH 上。重新定义搜索路径,或完全限定脚本中使用的所有可执行文件的路径。

尝试使用-L启动屏幕

这将在您当前的工作目录中创建一个文件screenlog.0,这将包含屏幕会话中的 stderr 和 stdout 的内容,即使它突然退出。

screen -dmLS anything /path/to/script
cat ./screenlog.0

相关内容

  • 没有找到相关文章

最新更新