`

nohup 使用注意

阅读更多
Unix/Linux下一般比如想让某个JAVA程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。

比如 nohup ./run.sh &就表示让当前目录下的JAVA程序在后台一直运行,与此同时,该命令会将控制台的日志输出到当前文件夹下的nohup.out文件中。

在一般情况下,程序员调试的时候需要查看控制台输出信息。但是在真正服务运行以后应该转而关注LOG的输出而不是CONSOLE的信息。

但是在某些服务器程序下CONSOLE信息输出过多就会导致nohup.out文件急剧增长。甚至威胁服务器可用磁盘空间。那么对于nohup.out的控制就有价值了。

值得关注的是:nohup.out文件在被使用的情况下删除是无效的。比如你的服务器程序一直在运行,这时去删除nohup.out文件,如果用查看硬盘剩余空间(df)的命令,可以发现并没有释放空间,但是查看已用空间(du)却会发现已用空间已经减少了,也就是说有一部分磁盘“消失”了;这种状况会一直持续到关闭服务器程序为止(应该是由于LINUX对于被占用的文件没有进行写锁并禁止删除造成的)。因此要删除nohup.out文件的最好方法是先关闭跟它相关的程序,然后再删除。

要把nohup.out对系统的影响降低,最简单的方法让nohup执行后不产生日志文件,可以在nohup命令行中增加输出目标文件,并指向/dev/null。也就是 nohup ./run.sh >/dev/null &,这样可以保证nohup.out文件不会自动生成;另外也可以编辑./run.sh文件,使该运行脚本简单化。比如nohup java com.xxx.xxx.Main >/dev/null &。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/brucefreetk/archive/2010/01/27/5260836.aspx

 

 

  • 大小: 5.6 KB
分享到:
评论

相关推荐

    nohup命令详解.txt

    - 在复杂环境中使用`nohup`时,考虑使用更高级的进程管理工具,如supervisord或systemd,它们提供了更全面的控制和监控功能。 通过以上详尽的解析,我们可以看到`nohup`命令在Linux系统中扮演着重要的角色,尤其...

    在python中使用nohup命令说明

    如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令,该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 实例操作 例如运行django项目 1.例如,进入项目目录: cd ...

    nohup、&、setsid、fork和fg、bg究竟有啥区别?

    ,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。  需要注意,代码中调用setsid是有条件的:即调用进程自己不能是进程...

    linux后台执行命令&和nohup的具体使用方法

    使用 `nohup` 时,确保使用 `exit` 正常退出登录,以确保命令持续在后台运行。如果仅使用 `Ctrl + Z` 暂停命令并退出,后台进程可能会在账户退出时停止。 `Ctrl + Z` 可以将一个前台任务挂起,将其放到后台,并且...

    通过python 执行 nohup 不生效的解决

    在使用Python进行远程服务器操作时,我们经常遇到需要在服务器后台执行持续运行的命令,比如`nohup`。`nohup`命令允许我们在退出终端后仍然保持进程的运行状态,不受SIGHUP信号的影响。然而,在使用Python的paramiko...

    解决python nohup linux 后台运行输出的问题

    需要注意的是,使用`nohup`命令时,程序的输出会被重定向到`nohup.out`文件,除非你像上面那样显式地改变了输出目的地。如果仍然希望使用`nohup.out`,可以修改命令为: ```bash nohup python -u flush.py > /dev/...

    nohup后台启动Python脚本,log不刷新的解决方法

    在Linux系统中,为了使Python脚本能在后台持续运行不受用户退出终端的影响,通常我们会使用`nohup`命令。然而,在使用`nohup`启动Python脚本时,可能会遇到日志(log)不刷新的问题,即在查看`nohup.out`日志文件时...

    Linux 运行jar包的几种方式

    为了简化命令,可以使用`&>`或`>>&`,如`nohup java -jar app.jar &>log &`,这等同于前面的完整形式,将标准输出和错误都重定向到`log`文件。 总的来说,Linux系统提供了多种方式来管理和控制jar包的运行,包括在...

    使用apache的rotatelogs命令实现WebLogic启动命令的nohup的日志回滚

    ### 使用Apache的Rotatelogs命令实现WebLogic启动命令的Nohup日志回滚 在IT运维工作中,日志管理是十分重要的一个环节。合理的日志管理不仅能帮助我们更好地了解系统的运行状态,还能够在出现问题时迅速定位问题...

    解决nohup重定向python输出到文件不成功的问题

    然而,在尝试使用`nohup`重定向Python程序的标准输出(stdout)和标准错误(stderr)到文件时,有时可能会遇到输出不成功的问题。这通常与Python的输出缓冲机制有关。 Python默认会进行输出缓冲,意味着它不会立即...

    利用nohup来开启python文件的方法

    本文将深入探讨如何使用`nohup`来开启并保持Python脚本持续运行,即使SSH会话被意外中断也不会影响其执行。 #### 一、`nohup`简介 `nohup`是一个非常有用的Linux/Unix命令,它的全称是“no hang up”,意为“不挂...

    Linux技巧:让进程后台运行

    需要注意的是,当使用过 disown 之后,会将把目标作业从作业列表中移除,我们将不能再使用 jobs 来查看它,但是依然能够用 ps -ef 查找到它。 让进程在后台可靠运行的方法有多种,包括使用 nohup、setsid 和 & 井号...

    在Linux终端中使用后台运行模式启动程序的方法.docx

    需要注意的是,`nohup`命令会创建一个名为`nohup.out`的日志文件,用于记录标准输出和标准错误输出。 5. **指定程序路径** 如果程序不在环境变量PATH定义的目录中,你需要指定程序的完整路径来启动它。例如: ``...

    几个好用的Linux命令

    **注意3**:`kill -9 进程id` 可以强制终止指定的进程,但需要注意的是,这样做可能会导致进程数据丢失或文件损坏等问题,因此使用时需谨慎。 **如果Linux操作不熟练**:对于那些不太熟悉Linux操作的新手来说,可以...

    springboot远程调试(eclipse篇)

    3. **日志记录**:使用 `nohup` 命令可以将命令行输出重定向到文件,便于后续查看。 #### 二、客户端配置 完成服务器端配置后,我们需要在 Eclipse 中进行相应的客户端配置,以便与服务器端建立连接并进行调试。 ...

    weblogic的启动部署配置方法文档

    启动过程中需要注意使用`nohup`和`&`确保服务在后台持续运行,并通过`tail -f`命令实时查看启动日志以便监控启动状态。在部署过程中,不仅可以通过命令行解压并部署WAR包,还可以利用WebLogic控制台提供的图形化界面...

    linux上通过sh方式启动java jar程序并做为守护进程

    4. 使用`nohup`命令启动Java应用,它可以防止进程在接收到HUP(挂断)信号时被终止,这通常发生在用户注销或终端关闭时。 5. `&`符号使得Java进程在后台运行。 6. `echo $! > /path/to/logfile.pid`将Java进程的PID...

    后台执行shell命令

    需要注意的是,`at`服务可能在某些系统上默认未启用,你需要先启动或配置这个服务才能使用。 其次,`&`符号用于将命令放入后台执行。当你在命令末尾添加`&`时,命令会在后台运行,而不会阻塞你的终端。例如: ```...

Global site tag (gtag.js) - Google Analytics