标签: nohup

如何在 shell 退出时分叉一个不会死的进程?

如果我从 shell 运行 emacs:

$ emacs foo &
Run Code Online (Sandbox Code Playgroud)

然后杀死那个外壳,emacs 死了。

如何运行命令使其在 shell 死机时不会死机?

我找到了对 nohup 的引用,但这似乎没有帮助:

$ nohup emacs foo &
Run Code Online (Sandbox Code Playgroud)

当 shell 死亡时,仍然会杀死 emacs。

linux terminal shell forking nohup

37
推荐指数
3
解决办法
5万
查看次数

关闭 SSH 时继续 SSH 后台任务/作业

我和这里有同样的问题,但甚至不止于此

如果我注销/退出 SSH 连接,我需要我的程序在后台运行。退出前,我输入bgjobs检查后台运行任务,但退出SSH后,程序没有运行,当我关闭SSH窗口时它关闭。

如果我希望我的程序在关闭 SSH 窗口后仍然运行,我该怎么办?我确实使用过nohup screen但它也不起作用,或者我错过了什么?

linux ssh nohup tasks

34
推荐指数
4
解决办法
6万
查看次数

子进程中的 Ctrl+c 正在终止脚本中较早的 nohup 进程

我不知道这是否属于 SO(因为它是一个编码错误),但我认为你们会更了解所用软件的微妙之处(因此甚至可以考虑 U&L)。

这是最小的代码脚本(请参阅完整脚本的编辑,我这样做是有原因的);

#/bin/bash
nohup {SERVERCOMMAND} > currentOutput.log 2>&1 &

less +F currentOutput.log
Run Code Online (Sandbox Code Playgroud)

它试图做的是在后台运行一个服务器,它输出到一个日志文件。
然后我follow使用less +F. 与您一样,要退出此操作,您必须先按ctrl+c才能按Q

发生的事情是,当我ctrl+cless命令中(停止tailing)时,它会以某种方式杀死nohup从顶部开始的服务器!其他没有任何影响。我可以shift+f再次开始拖尾日志(由于服务器被终止,因此不会获得新信息),如果我点击Q脚本的其余部分,则脚本的其余部分将正常执行。

你知道为什么会这样吗?如何避免它/我应该使用的其他东西?


PS
服务器程序可能正在侦听^C,这可能是问题所在;我能做些什么来阻止它吗?就像,当我{SERVERCOMMAND}自己运行(以阻塞方式)时,我可以点击ctrl+ c,这不会立即杀死它;它打印Received ^C signal, shutting down(然后杀死自己)。这就是当我^C进入时发生的事情less(决赛Received ^C signal, shutting down被写入日志)。


PPS
我一直在尝试很多东西(都没有成功);

linux bash nohup less

17
推荐指数
1
解决办法
6701
查看次数

如何附加到 nohup 进程?

如果我用 nohup 启动一个进程:

nohup WHATEVER &
Run Code Online (Sandbox Code Playgroud)

那我怎么能再看到呢?我的意思是如何在 Linux 下再次将我的终端连接到它,例如:Ubuntu 11.04 - 就像screen包一样。

linux nohup

16
推荐指数
1
解决办法
2万
查看次数

被拒绝的程序的 STDOUT 指向哪里?

作为这个问题的后续,我想知道我运行的程序的 STDOUT 和 STDERRdisown -h被重定向到哪里。

unix nohup

12
推荐指数
1
解决办法
5376
查看次数

事后远程 nohup 与 tcsh

我在运行长期(数周?)进程的 xterm 中有一个 tcsh 实例。它运行的 Xvnc 服务器在杂草中消失了;它消耗 100% 的 CPU 并且没有响应。(这是一个已知的错误,我知道它是不可恢复的。)

长期进程目前在标准输出上阻塞。

有什么办法可以杀死一个底层进程——tcsh、xterm 等等——并保持这个长期进程运行?

(拜托,没有关于 的答案screen。我知道。这不是我的过程;这是用户的。他们不会学习。)

kill nohup tcsh

11
推荐指数
1
解决办法
8225
查看次数

Nohup over ssh 不会返回

我正在尝试做

[me@myPc]$ ssh me@server "nohup myBashScript.sh &"
Run Code Online (Sandbox Code Playgroud)

我的目标是在服务器上启动进程,然后立即返回。

它不起作用:该作业在服务器上启动,但我仍然在 myPc 上获得输出,并且 bash 在要求我输入另一个命令之前等待完成。

为什么 ?这不应该!有什么办法可以避免吗?

  • 我的电脑是 RHEL6.2
  • 服务器是ubuntu 10.04
  • 两次运行 openssh

openssh nohup

11
推荐指数
1
解决办法
8404
查看次数

在程序启动后,关闭控制台后保持程序运行

可能的重复:
如何完全从终端分离进程?

我有一个程序在远程 Unix 计算机上的 Unix 控制台中运行。我(愚蠢地)没有使用 运行它nohup &,现在我需要关闭本地控制台。

有没有办法让它在关闭本地控制台后继续远程运行?

unix nohup

8
推荐指数
2
解决办法
6782
查看次数

Nohup 和在远程 shell 上注销和退出之间的区别

我可以出于工作目的访问远程 Linux shell。我使用nohup.

现在,如果我想退出会话,使用logoutexit命令有什么区别?我的脚本会在这两种情况下继续运行吗?

unix shell nohup

7
推荐指数
1
解决办法
1万
查看次数

nohup 输出重定向到不同的文件

nohup经常在linux/下用于重要的长时间运行的进程bash,以至于这nohup time my command with arguments && mv nohup.out my.log对我来说几乎是一个习语。

问题是nohupstdout和 都stderr放入nohup.out,我无法控制文件的名称。这意味着如果我不小心nohup在同一个目录中启动了两个s,它们的输出将在nohup.out.

问题是:

  1. 我该如何处理这个问题?总是nohup在不同的目录中运行s 并编写一个首先检查的 shell 函数,这./nohup.out是我看到的两个糟糕的选项。

  2. 为什么我不知道nohup将输出重定向到哪里?GNU 工具往往有这么多的选择,为什么不nohup呢?

bash nohup

6
推荐指数
2
解决办法
3万
查看次数

标签 统计

nohup ×10

linux ×4

unix ×3

bash ×2

shell ×2

forking ×1

kill ×1

less ×1

openssh ×1

ssh ×1

tasks ×1

tcsh ×1

terminal ×1