首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时使用NOHUP

何时使用NOHUP
EN

Unix & Linux用户
提问于 2020-02-18 14:37:22
回答 1查看 1.3K关注 0票数 3

我想知道现在nohup的用途。

我问是因为我读了这个

Nohup是“没有插曲”的缩写。这不是你自己运行的命令。Nohup是一个补充命令,它告诉Linux系统启动后不要停止另一个命令。这意味着它将继续运行直到完成,即使启动它的用户注销。nohup的语法很简单,如下所示: nohup您的-script.sh&注意命令末尾的“&”。这会将命令移到后台,释放您正在工作的终端。Nohup几乎可以处理您在终端中运行的任何命令。它可以使用自定义脚本以及标准的系统命令和命令行实用程序来运行。

通过使用诸如SLES11.4或RHEL/CentOS7.x等linux发行版,我可以

  • 通过SSH通过网络远程登录linux
  • 运行下面的简单程序,或任何其他执行./a.out &的程序
  • 退出linux;在putty终端中键入exit
  • 下面的示例程序,或者包括bash、csh或tcsh shell脚本在内的任何其他程序,都可以很好地完成,而不需要nohup
  • 在putty中键入exit以关闭SSH会话,我会认为这是否符合注销的条件?

今天的nouhup有什么目的或价值吗?它是内核>= 3.x的东西吗?不管我记得多久(内核>= 2.6),我从来没有使用过nohup,而且一直只是使用&而没有问题。

有人能给我一个使用nohup的实用场景吗?

代码语言:javascript
复制
#include <stdlib.h>
#include <stdio.h>

/*
    sample C code, to print numbers to a file named zz.tmp
    the numbers 0 to 29 over 30 seconds
*/

int main ( int argc, char *argv[] )
{
   FILE *fp;
   int i;

   i = 0;
   fp = fopen("zz.tmp", "w" );

   while ( i < 30 )
   {
      fprintf( fp, "%d\n", i++ );
      sleep( 1 );
   }
   fclose( fp );
   return 0;
}

mysleep.sh

代码语言:javascript
复制
#!/bin/bash

sleep 1000

在CentOS7.7上,optiplex pc用键盘和鼠标登录,我的帐户是bash。我做了nohup ./mysleep.sh然后控制-z。键入jobs时,我看到[1]+ Stopped nohup ./mysleep.sh

一个ps -ef | grep mysleep显示进程id存在,但是如果我通过右上角的X关闭终端窗口,该进程就会消失,所以nohup似乎无法工作?

EN

回答 1

Unix & Linux用户

发布于 2020-02-18 15:20:57

我一直认为nohup是一个可怜人的守护进程。

这些人也是:https://stackoverflow.com/questions/958249/whats-the-difference-between-nohup-and-a-daemon

它被用作编写shell守护进程的一种方式。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/568299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档