• 经验分享:分析如何使程序在Linux下后台运行---Linux就该这么学!


    转至:https://www.cnblogs.com/maoju/p/13848740.html

    一、为什么要使程序在后台执行

     

    我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:

    1:我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼)

    2:不影响计算效率

    2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情。

    二、怎么样使程序在后台执行

    方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。(假设操作都在当前目录下)

    方法1在终端输入命令:

     # ./pso > pso.file 2>&1 & 

    解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。

          当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命

    令:#cat pso.file )。

    方法2在终端输入命令:

    # nohup  ./pso > pso.file 2>&1 &

    解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前

    目录下的pso.file文件中。当客户端关机后重新登陆服务器后,直接查看pso.file

    文件就可看执行结果(命令:#cat pso.file )。

    三、常用任务管理命令

    # jobs      //查看任务,返回任务编号n和进程号

    # bg  %n   //将编号为n的任务转后台运行

    # fg  %n   //将编号为n的任务转前台运行

    # ctrl+z    //挂起当前任务

    # ctrl+c    //结束当前任务

    注:如果要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,然后用bg使之后台执行。

     点击了解更多资料,更有免费开源项目和课程等你观看哦!

  • 相关阅读:
    数据分析的5层解读,报表仍是有效的落地实践!
    rex 传文件改变用户属主
    rex 通过--parameter1=dbcdefg传参
    rex 给shell 脚本传参
    rex run 传参
    rex ssh公钥认证
    eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法
    数据分析的三层需求
    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value
    java.sql.SQLException: Can not issue data manipulation statements with executeQuery()
  • 原文地址:https://www.cnblogs.com/my-first-blog-lgz/p/13850631.html
Copyright © 2020-2023  润新知