首页 新闻中心 工商档案 地理位置 行业动态
  • 首页
  • 新闻中心
  • 工商档案
  • 地理位置
  • 行业动态
  • 地理位置

    你的位置:开元ky888棋牌手机版网址 > 地理位置 > Linux下几种运行后援使命的编制

    Linux下几种运行后援使命的编制

    发布日期:2022-08-07 06:06    点击次数:177

     1.成就的引入

    顺序员最不克不迭容忍的是在运用终端的岁月每每因为网络,敞开屏幕,执行CTRL+C等启事构成ssh断开构成正在运旅顺序退出,使得我们的事变功亏一篑。

    其迎面的次要启事在于上述的相干操作,shell默认会发送中缀旗子灯号给该终端session联络纠葛的过程,从而导致过程跟随终端退出,为了弄清这个成就我们起重要相识两种中缀旗子灯号:

    1)sigint:signal interrupt,ctrl+c会发送此旗子灯号,被动敞开顺序

    2)sighup: signal hang up,敞开终端,网络断线,敞开屏幕会发送此挂断旗子灯号。

    来日诰日就给巨匠介绍linux中几种后援使命的执行编制防止上述成就。

    2 & 标志

    这是一种把 &放在执行敕令最后,使启动的顺序轻忽sigint旗子灯号,此时执行ctrl+c敞开就不会敞开此过程,然则当屏幕敞开,断网仍然会构成过程退出。 

    sh test.sh & 

    3.nohup指令

    nohup(no hang up),意义就是不挂断运行,用nohup运行敕令可使敕令永恒执行上来,和用户终端没有纠葛,断开SSH不影响运行,nohup捕获了SIGHUP,并做了轻忽处理惩罚,因而当屏幕敞开,断网等构成ssh中缀时过程不会退出。然则ctrl+c可以或许敞开敞开该过程。因而大大都环境同时运用nohup和&启动的顺序,地理位置ctrl+c和敞开终端都没法敞开。在缺省环境下全体输出都被重定向到一个名为nohup.out的文件中。

    nohup指令根抵运用项目: 
    nohup Co妹妹and [ Arg ... ] [ & ] 
    举例

    后援不中缀执行./test.sh,stdout输出给out.log,stderr输出给err.log 

    nohup ./test.sh > out.log 2>err.log  & 

    相干的数字含义以下:

        0 – stdin (standard input),

        1 – stdout (standard output),显明 nohup co妹妹and > out.log 等价于 nohup co妹妹and 1> out.log,是缺省动作。

        2 – stderr (standard error)

    可以或许你也会见到这类写法,其含义是把stderr也重定向给stdin 

    nohup ./test.sh > out.log 2>&1  & 

    4.ctrl + z、jobs、fg、bg

    假定我们顺序在启动的岁月并无运用&,nohup怎么办呢,莫非我们需求先执行ctrl + c将在前台执行的过程截至执行再从头启动吗,显明有好的编制!

    4.1 ctrl + z

    将一个正在前台执行的作业过程放到后援,并且平息,用术语讲就是挂起,执行后以下: 

    [1]+ Stopped ./test.sh 

    4.2 jobs

    查察今后有几多在后援运行的敕令,[jobnumber] 就是作业号。 

    jobs  [1]+ Stopped ./test.sh   [2]+ Running ./test2.sh & 

    4.4 bg

    将后援中平息(挂起)的作业过程延续运行,譬如把1号作业(./test.sh) 放到后援运行,留心看已经带了& 

    bg 1  [1]+ ./test.sh  & 

    4.3fg

    将后援中的作业过程调至前台延续运行,譬如把2号作业(./test2.sh &)调至前台运行 

    fg 2   ./test2.sh 

    5.screen敕令

    5.1 介绍

    假定说上面的编制是经由过程linux 相干本身敕令完成为了先后援使命调理,那末screen就供应了此外一种思路。

    不说人话的版本:GNU Screen是一款由GNU设计开发的用于敕令行终端切换的自由软件。用户可以或许经由过程该软件同时跟尾多个外埠或近程的敕令行会话,并在此间自由切换。GNU Screen可以或许看做是窗口打点器的敕令行界面版本。它供应了统一的打点多个会话的界面和响应的功用。

    说人话的版本: 我们可以或许或者地觉得screen是一个虚拟终端软件,间接在linux体系内里启动了此外一个后援顺序接收(坚持)了你的终端会话,当你间接跟尾的终端ssh断开时他仍然让顺序觉得你的ssh延续链接着,这样也就不会出现过程领受到中缀旗子灯号而退出。

    5.2 按部就班 

    yum install screen 

    5.3运用

    1)新建会话

    screen -S yourname -> 新建一个叫yourname的session

    2) 列出今后全体的session

    screen -ls

    3)光复会话(回到yourname这个session)

    screen -r yourname

    4) detach某个session

    screen -d yourname -> 近程detach某个session screen -d -r yourname -> 截至今后session并回到yourname这个session

    5)删除会话

    screen -S pid-X quit