我成功编译了一个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
所以这不是问题..任何人都可以帮我这个吗??
答案 0 :(得分:0)
来自" man nohup":
如果标准输出是终端,则由命名的所有输出写入 其标准输出的效用应附加到其末尾 在当前目录中输入nohup.out。如果nohup.out不能 创建或打开以进行追加,输出应附加到 在HOME指定的目录中,文件nohup.out的结尾 环境变量。如果两个文件都不能创建或打开 附加,实用程序不得援引。如果创建了文件,则 文件的权限位应设置为S_IRUSR | S_IWUSR。
我的猜测是因为" sh -c"没有启动登录shell,它继承了调用shell的环境,包括HOME环境变量,并试图在那里打开它。所以我会检查你当前目录和$HOME
的权限。您可以尝试在当前目录中touch test.txt
或$HOME
查看是否可以执行该命令。
答案 1 :(得分:0)
正如staticx所写,检查目录(和用户)的权限 - 以及可执行文件。
而不是使用nohup
:
nohup
,尝试./startup </dev/null >mud.out 2>mud.err &
,然后关闭终端窗口并检查它是否正在运行./startup
会话中运行screen
并将其分离(<ctrl>+<a>,<d>
)答案 2 :(得分:0)
尝试chmod +x startup
,也许您的startup
文件无法执行。