nohup ./startup & Permission 被拒绝

nohup ./startup & Permission Denied

本文关键字:拒绝 Permission startup nohup      更新时间:2023-10-16

我成功地编译了一个MUD源代码,它在说明中说使用启动服务器

nohup ./startup &

尽管当我这样做时,它会给我这个错误:

$ nohup: ignoring input and appending output to `nohup.out'
nohup: failed to run command `./startup': Permission denied

我在网上到处寻找答案。他们中的一些人说把我的cygwin目录放在根文件夹中(我使用的是Windows 7),它的目录是C:\cygwin

所以这不是问题。谁能帮我解决这个问题??

尝试chmod +x startup,也许您的startup文件不可执行。

来自"man nohup":

如果标准输出是终端,则所有输出由命名 其标准输出的效用应附在 文件 nohup.out 在当前目录中。如果 nohup.out 不能 创建或打开以追加,输出应附加到 在 HOME 指定的目录中的文件 nohup.out 的末尾 环境变量。如果两个文件都无法创建或打开 追加,不得调用效用。如果创建了文件,则 文件的权限位应设置为 S_IRUSR |S_IWUSR。

我的猜测是,由于"sh -c"不启动登录 shell,它继承了调用 shell 的环境,包括 HOME 环境变量,并尝试在那里打开它。所以我会检查您当前目录和$HOME的权限。您可以尝试在当前目录或$HOMEtouch test.txt,以查看是否可以执行该命令。

正如 staticx 所写,检查目录(和用户)的权限 - 以及可执行文件。

而不是使用nohup

  • 检查是否需要nohup,尝试./startup </dev/null >mud.out 2>mud.err &,然后关闭终端窗口并检查它是否正在运行
  • 或者只是在screen会话中运行./startup并将其分离(<ctrl>+<a>,<d>