1、为何要使程序在后台执行linux
咱们计算的程序都是周期很长的,一般要几个小时甚至一个星期。咱们用的环境是用putty远程链接到日本Linux服务器。因此使程序在后台跑有如下三个好处:服务器
1:咱们这边是否关机不影响日本那边的程序运行。(不会像之前那样,咱们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,非常烦恼)网络
2:不影响计算效率3d
2:让程序在后台跑后,不会占据终端,咱们能够用终端作别的事情。blog
2、怎么样使程序在后台执行进程
方法有不少,这里主要列举两种。假如咱们有程序pso.cpp,经过编译后产生可执行文件pso,咱们要使pso在linux服务器后台执行。当客户端关机后从新登入服务器后继续查看原本在终端输出的运行结果。(假设操做都在当前目录下)get
方法1在终端输入命令:io
# ./pso > pso.file 2>&1 & 编译
解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。class
当客户端关机后从新登录服务器后,直接查看pso.file文件就可看执行结果(命
令:#cat pso.file )。
方法2在终端输入命令:
# nohup ./pso > pso.file 2>&1 &
解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前
目录下的pso.file文件中。当客户端关机后从新登录服务器后,直接查看pso.file
文件就可看执行结果(命令:#cat pso.file )。
3、经常使用任务管理命令
# jobs //查看任务,返回任务编号n和进程号
# bg %n //将编号为n的任务转后台运行
# fg %n //将编号为n的任务转前台运行
# ctrl+z //挂起当前任务
# ctrl+c //结束当前任务
注:若是要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,而后用bg使以后台执行。