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`时,考虑使用更高级的进程管理工具,如supervisord或systemd,它们提供了更全面的控制和监控功能。 通过以上详尽的解析,我们可以看到`nohup`命令在Linux系统中扮演着重要的角色,尤其...
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令,该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 实例操作 例如运行django项目 1.例如,进入项目目录: cd ...
,而命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。 需要注意,代码中调用setsid是有条件的:即调用进程自己不能是进程...
使用 `nohup` 时,确保使用 `exit` 正常退出登录,以确保命令持续在后台运行。如果仅使用 `Ctrl + Z` 暂停命令并退出,后台进程可能会在账户退出时停止。 `Ctrl + Z` 可以将一个前台任务挂起,将其放到后台,并且...
在使用Python进行远程服务器操作时,我们经常遇到需要在服务器后台执行持续运行的命令,比如`nohup`。`nohup`命令允许我们在退出终端后仍然保持进程的运行状态,不受SIGHUP信号的影响。然而,在使用Python的paramiko...
需要注意的是,使用`nohup`命令时,程序的输出会被重定向到`nohup.out`文件,除非你像上面那样显式地改变了输出目的地。如果仍然希望使用`nohup.out`,可以修改命令为: ```bash nohup python -u flush.py > /dev/...
在Linux系统中,为了使Python脚本能在后台持续运行不受用户退出终端的影响,通常我们会使用`nohup`命令。然而,在使用`nohup`启动Python脚本时,可能会遇到日志(log)不刷新的问题,即在查看`nohup.out`日志文件时...
为了简化命令,可以使用`&>`或`>>&`,如`nohup java -jar app.jar &>log &`,这等同于前面的完整形式,将标准输出和错误都重定向到`log`文件。 总的来说,Linux系统提供了多种方式来管理和控制jar包的运行,包括在...
### 使用Apache的Rotatelogs命令实现WebLogic启动命令的Nohup日志回滚 在IT运维工作中,日志管理是十分重要的一个环节。合理的日志管理不仅能帮助我们更好地了解系统的运行状态,还能够在出现问题时迅速定位问题...
然而,在尝试使用`nohup`重定向Python程序的标准输出(stdout)和标准错误(stderr)到文件时,有时可能会遇到输出不成功的问题。这通常与Python的输出缓冲机制有关。 Python默认会进行输出缓冲,意味着它不会立即...
本文将深入探讨如何使用`nohup`来开启并保持Python脚本持续运行,即使SSH会话被意外中断也不会影响其执行。 #### 一、`nohup`简介 `nohup`是一个非常有用的Linux/Unix命令,它的全称是“no hang up”,意为“不挂...
需要注意的是,当使用过 disown 之后,会将把目标作业从作业列表中移除,我们将不能再使用 jobs 来查看它,但是依然能够用 ps -ef 查找到它。 让进程在后台可靠运行的方法有多种,包括使用 nohup、setsid 和 & 井号...
需要注意的是,`nohup`命令会创建一个名为`nohup.out`的日志文件,用于记录标准输出和标准错误输出。 5. **指定程序路径** 如果程序不在环境变量PATH定义的目录中,你需要指定程序的完整路径来启动它。例如: ``...
**注意3**:`kill -9 进程id` 可以强制终止指定的进程,但需要注意的是,这样做可能会导致进程数据丢失或文件损坏等问题,因此使用时需谨慎。 **如果Linux操作不熟练**:对于那些不太熟悉Linux操作的新手来说,可以...
3. **日志记录**:使用 `nohup` 命令可以将命令行输出重定向到文件,便于后续查看。 #### 二、客户端配置 完成服务器端配置后,我们需要在 Eclipse 中进行相应的客户端配置,以便与服务器端建立连接并进行调试。 ...
启动过程中需要注意使用`nohup`和`&`确保服务在后台持续运行,并通过`tail -f`命令实时查看启动日志以便监控启动状态。在部署过程中,不仅可以通过命令行解压并部署WAR包,还可以利用WebLogic控制台提供的图形化界面...
4. 使用`nohup`命令启动Java应用,它可以防止进程在接收到HUP(挂断)信号时被终止,这通常发生在用户注销或终端关闭时。 5. `&`符号使得Java进程在后台运行。 6. `echo $! > /path/to/logfile.pid`将Java进程的PID...
需要注意的是,`at`服务可能在某些系统上默认未启用,你需要先启动或配置这个服务才能使用。 其次,`&`符号用于将命令放入后台执行。当你在命令末尾添加`&`时,命令会在后台运行,而不会阻塞你的终端。例如: ```...