欢迎来到云服务器

系统配置

Linux系统让措施在靠山运行的要领总结

几年前在developerWorks上面看到的文章,感受很是实用,又简朴整理了一下,转到这里,但愿给看到的人带来一些辅佐。文中提到的nohup和subshell方法一直在利用。

我们常常会遇到这样的问题,用 telnet/ssh 登录了长途的 Linux 处事器,运行了一些耗时较长的任务, 功效却由于网络的不不变导致任务半途失败。如何让呼吁提交后不受当地封锁终端窗口/网络断开毗连的滋扰呢?下面举了一些例子, 您可以针对差异的场景选择差异的方法来处理惩罚这个问题。


假如只是姑且有一个呼吁需要长时间运行,什么要领能最轻便的担保它在靠山不变运行呢?



办理要领:

1.nohup
我们知道,当用户注销(logout)可能网络断开时,终端会收到HUP(hangup)信号从而封锁其所有子历程。因此,,我们的办理步伐就有两种途径:要么让历程忽略 HUP 信号,要么让历程运行在新的会话里从而成为不属于此终端的子历程。

HANGUP名称的理由,在Unix的早期版本中,每个终端城市通过modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当modem断开毗连时,就会给终端发送hangup信号来通知其封锁所有子历程。

nohup 无疑是我们首先想到的步伐。顾名思义,nohup 的用途就是让提交的呼吁忽略 hangup 信号。让我们先来看一下 nohup 的辅佐信息:



NOHUP(1)                       
User
Commands                       
NOHUP(1)

NAME

nohup – run a command immune to hangups, with output to a
non-tty


SYNOPSIS

nohup COMMAND [ARG]…

nohup OPTION


DESCRIPTION

Run COMMAND, ignoring hangup signals.

–help display this help and exit

–version output version information and exit



可见,nohup 的利用是十分利便的,只需在要处理惩罚的呼吁前加上 nohup 即可,尺度输出和尺度错误缺省会被重定向到 nohup.out 文件中。一般我们可在末了加上“&”来将呼吁同时放入靠山运行,也可用”>filename 2>&1″来变动缺省的重定向文件名。

nohup 示例


[[email protected] ~]# nohup ping www.ibm.com &; 
[1] 3059 nohup: appending output to `nohup.out' 
[[email protected] ~]# ps -ef |grep 3059
root 3059 984 0 21:06 pts/3 00:00:00 ping www.ibm.com
root 3067 984 0 21:06 pts/3 00:00:00 grep 3059
[[email protected] ~]#

 

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号