Questions tagged «nohup»

nohup标准实用程序和从csh之类的shell内置的nohup导致SIGHUP信号被忽略

1
为什么“ nohup命令>&/ dev / null”在某些shell中似乎“起作用”?
我在Ask Ubuntu上编辑了一个建议以下内容的答案 nohup gedit >& /dev/null & 当他们真正的意思是 nohup gedit &> /dev/null & 后者正确地将stderr和stdout都重定向到/dev/null。我期望前者会创建一个称为的文件,&或者更有可能像其他情况一样产生错误: $ echo "foo" >& bash: syntax error near unexpected token `newline' 相反,它的工作方式gedit似乎与前者完全相同,出现一个窗口,并且未打印任何错误消息。 我还要注意,这是特定于shell的: bash(4.2.45(1)-发行版),zsh(5.0.2),csh(deb软件包版本:20110502-2)和tcsh(6.18.01):如上所述工作,没有错误消息,没有创建文件。 dash (0.5.7-3): $ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd number ksh(93u + 2012-08-01):失败,但是1223尽管没有gedit出现窗口,但显然已启动了一个进程(): $ nohup gedit …


4
在后台运行多个nohup命令
得到了两个命令cmd1和cmd2。在这两个中,cmd2需要更长的时间才能完成。需要先运行cmd2,然后再运行cmd1。 尝试通过以下方式运行它们: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & 要么 bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & 但是两次我都可以看到cmd1不等待cmd2完成并且result1被填充。 当两者都应为nohup进程并在后台运行时,如何使cmd1在cmd2之后运行?

4
进程Java仍然被杀死
我需要在大学服务器上运行Java程序。我正在通过ssh通过他们的服务器远程登录 所以我像这样使用nohup: nohup java -jar project.jar & 但是,当我注销并关闭终端然后重新登录到服务器时,我的进程丢失/丢失了。
11 nohup 

4
如何限制命令输出在bash中可用的行数?
我开始使用后台下载一个大文件 $ nohup wget http://example.tld/big.iso & 这也给了我一个nohup.out包含的输出的文件wget。 现在,如果以后要观看下载过程,可以使用,$ tail -f nohup.out但是填充终端窗口的速度比我期望的要快。我想看到的是最后一行不断更新(就像wget单独使用时一样)。 我尝试过,$ tail -n 1 -f nohup.out但似乎只影响最初的拖尾。 一般来说,如果可以限制(在这种情况下为1)命令输出具有可用/可见的行数,则可以解决此问题。将输出保存在循环缓冲区中的某种方式–只需考虑正常的进度条即可$ wget example.tld/big.iso打印。 有这样的解决方案吗? 还是我以错误的方式爬树?(意味着,限制nohup输出或执行其他操作会更容易吗?)
11 bash  tail  nohup  stdout 

1
用输入执行Nohup命令
在UNIX中,我有一个要使用nohup运行的进程。但是,此过程有时会在提示下等待我输入yes或no继续。到目前为止,在UNIX中,我一直在执行以下操作: nohup myprocess <<EOF y EOF 因此,我使用nohup启动进程“ myprocess”,并使用“ y”将其管道传输到文件中,然后关闭文件。上面的行实际上是三个单独的命令-即,我在UNIX的第一行中按Enter,然后得到提示,我在其中输入'y',然后按Enter以最后键入'EOF',然后再次按回车键。因此,这很完美,但是我的问题在下面。 我现在想在Perl中执行此命令,但是由于三行以上,因此我不确定如何执行此命令。我不知道以下方法是否有效: my $startprocess = `nohup myprocess <<EOF & y EOF `
11 process  perl  nohup 

1
为什么nohup后台进程被杀死?
我尝试通过远程会话启动Shell脚本,该会话使用命令在后台启动进程。 nohup python3 run.py > nohup.out & 当远程会话关闭时,该进程将被消息杀死: 捕获信号SIGHUP SIGHUP被捕获但未被守护。正在退出。 我不明白 为什么使用nohup&在后台启动该进程会被杀死?

1
如何为使用`nohup`执行的程序设置环境变量?
(我正在编辑现有的Bash脚本,因此我可能在这里犯了一个愚蠢的错误...) 我有一个shell脚本,它以环境变量作为参数保存命令,如下所示: COMMAND="mvn clean install -P $MAVEN_PROFILE" 然后,它nohup大致如下执行命令: nohup $COMMAND > logfile 这可行。 现在,我想设置一个可以在Maven中访问的环境变量。我已经尝试了以下几种方法: COMMAND="FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE" ...但随后它终止于: nohup: failed to run command `FORMAVEN=valueForMaven': No such file or directory 我觉得这里有几个不相关的概念在起作用,我都不了解甚至不知道。我需要什么才能做到以上几点?

2
nohup如何工作?
我的理解是,为了阻止类似的过程信号SIGHUP,您需要在将信号发送到的过程中进行操作。但是,像这样的Unix shell bash可以HUP使用nohup命令生成一个子进程并从父进程中阻止该子进程的信号。这是如何运作的?是否会nohup阻塞信号然后执行子进程而不进行分叉?那是我唯一能想到的方法。
8 signals  nohup 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.