Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234356
  • 博文数量: 95
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 906
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 16:04
个人简介

人生意义在于积累,而不是日复一日的重复

文章分类

全部博文(95)

文章存档

2016年(2)

2015年(44)

2014年(35)

2011年(5)

2010年(9)

我的朋友

分类: LINUX

2014-11-25 16:13:08

进程在前后台转换需要涉及4个命令及一个组合:
1.    &:     后台运行
2.    bg:    将后台程序由stoped转为running
3.    fg:     将后台程序转到前台
4.    jobs:  查看后台运行的进程
5.    Ctrl + z:将一个正在前台执行的命令放到后台,并且暂停

一、后台运行
    1.    若想进程在后台运行,调用命令时在最后添加一个&,进程便在后台运行;
    2.    对于在前台运行进程,先调用Ctrl + z转入后台,但此时进程是Stopped,通过jobs命令查看进程的jobnum,然后通过bg + %jobnum将一个在后台暂停的命令变成Running。
    3.    直接使用&进入后台,如果进程不是守护进程,而是一般程序,则在终端退出后进程也会退出,原因是后台进程的父进程是终端,当终端退出后进程也会退出,除非进程了配置;解决方法是使用nohup命令,使用方法为:
        nohup comand &
        nohup可以让你的shell命令忽略SIGHUP信号,没有父进程,则当终端退出后,进程还会在后台运行。使用nohup后,进程输出会定向到nohup.out中,若不进行及时清理,则会越来越大,清理方式为:cat /dev/null > nohup.out

二、前台运行
    1.    直接调用命令,不要加&
    2.    通过fg将后台进程转为前台
阅读(530) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~