11 我正在尝试做 [me@myPc]$ ssh me@server "nohup myBashScript.sh &" 我的目标是在服务器上启动该过程,然后立即返回。 它不起作用:作业在服务器上启动,但是我仍然在myPc上获得输出,bash等待完成,然后再问我另一个命令。 为什么呢 不应该!有什么办法可以避免这种情况? myPc是 RHEL6.2 服务器是ubuntu 10.04和 都跑 openssh openssh nohup — 用户名 source
12 只要输入或输出仍然打开,ssh就会保持连接打开。要解决此问题,请确保输入和输出未打开。 例如,使用ssh -n并重定向您的输出: ssh -n me@example.com "nohup myscript.sh >/dev/null 2>&1 &" — 迈克尔·汉普顿 source 如果我仍然想myscript.sh给我输出,但是ssh会话在脚本完成后仍然终止,该怎么办?就我而言,脚本本身启动nohup进程,然后返回。我的印象是ssh -T可以帮助我做到这一点。 — Gauthier @Gauthier然后运行没有nohup的脚本。 — 迈克尔·汉普顿 我做。该脚本以nohup和&开头其他命令,然后终止。但是ssh不会返回。脚本中调用的命令将标准输出重定向到文件。哦,但不是stderr和stdin,这可能是为什么吗? — Gauthier 你有它!输入和输出必须重定向。 — 迈克尔·汉普顿 我不明白的是,如果我实际登录并获得tty,启动启动nohup&命令的脚本,那么我将被允许从ssh会话注销。它不会抱怨有开放的输入和输出。那ssh -t不是应该模仿的东西吗? — Gauthier
myscript.sh
给我输出,但是ssh会话在脚本完成后仍然终止,该怎么办?就我而言,脚本本身启动nohup进程,然后返回。我的印象是ssh -T
可以帮助我做到这一点。