2017-10-26 13:12:20 congshuang9 阅读数 868

本节可以学到:

  • linux系统后台进程的概念
  • 后台进程与前台进程的区别以及区分方法
  • 后台进程相关的命令

更新记录

  • 2017/10/18:写完初稿

后台进程

后台进程(Background Process)是一种在不需用户干预的情况下运行于操作系统后台的计算机进程
通常用于执行如日志记录系统监测作业调度以及用户提醒等任务。

区分方法

  1. 进程组ID
    在UNIX与类UNIX系统中,后台进程的进程组ID即PGID,可用ps命令获得)与控制终端进程组ID(即TPGID)不同,因而也可以此辨识后台进程。
  2. 用户交互
    后台程序基本上不和用户交互,优先级别稍微低一点
    前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点

相关命令

1. & 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
用户可使用“&”操作符以启动进程并使之运行于后台,但标准输出(stdout)和标准错误输出(stderr)若未重定向则仍于前台(即当前父终端)输出。

2. ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停

3. jobs
查看当前有多少在后台运行的命令
([作业号]   运行状态   作业名称)

4.fg   <%int>
将后台中的命令调至前台继续运行

5. bg  <%int>
将一个在后台暂停的命令,变成继续执行

SIGCONT–将后台任务唤醒,在后台运行;
kill(pid,SIGCONT);
The SIGCONT signal instructs the operating system to continue (restart) a process previously paused by the SIGSTOP or SIGTSTP signal.

参考链接

1.https://my.oschina.net/u/2467198/blog/619071
2.https://zh.wikipedia.org/wiki/%E5%90%8E%E5%8F%B0%E8%BF%9B%E7%A8%8B

2019-01-19 08:40:31 qq_39309714 阅读数 216

Linux 进程管理

进程是Linux/Unix用来表示正在运行的程序的一种抽象概念
  1. w命令用于显示目前登入系统的用户信息
  2. ctrl + z将进程停止并放到后台
  3. jobs查看在后台的进程
  4. bg + id将停止的进程启动
  5. fg + id将进程放到前台
  6. ctrl + c结束进程
上面命令分别对应kill命令
  1. ctrl + z=kill -s 19 pid 停止运行进程
  2. bg + id=kill -s 18 pid 启动暂停的进程
  3. ctrl + c=kill -s 19 pid杀死进程
sleep 是操作进程中常用命令
  1. sleep 10等待10秒
ps 查看进程
  1. ps -aux=ps -ef
nohup 守护进程

在这里插入图片描述

2015-08-25 01:07:26 u011673554 阅读数 516

    个人猜想,没有验证,没看到tcsetpgrp()的源码(T_T)。

Linux前台进程的实现:把控制终端的STDIN文件(即标准输入)的拥有者设为指定的某个进程(组),这样,当我们在键盘输入的时候,产生的控制信号(如ctrl+c产生的SIGINT信号),将会发给STDIN文件的拥有者,即前面设定的某个进程(组),从而达到控制其状态的作用。而后台进程由于不是该文件的拥有者,所以接收不到该类控制信号。

2017-10-28 17:29:56 XIAO_XIAO_C 阅读数 287

Linux 控制进程

# 退出当前进程
control + C

# 挂起前台进程放到后台
control +Z

# 将后台进程调入到前台
fg 

# kill 死进程
 kill %1  或 kill -9 %1
 kill -9 进程号

# 查看进程
ps 

# 查看进程详情
ps aux

# 查看NGINX进程
ps aux | grep nginx

# 查看MySQL进程
ps aux | grep mysql
2013-05-17 18:01:25 lyhDream 阅读数 2206

linux前台与后台进程调度

在linux中要终止一个前台进程用: ctr  +  c

要中止一个 后台进程必须使用命令:  kill

kill命令的工作原理是:向linux系统到内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。

启动前台进程与后台进程:

启动前台进程,直接使用命令,如下:


键入ls及启动了一个前台进程,只是这个进程在一瞬间就就执行玩然后销毁了

再看看下一个,输入node(node是我安装的nodejs服务器的启动命令),如下:


可以看到  nodej  s服务已经在前台运行起来了。

输入console.log('hello world !')则打印出   hello   world   这句话

现在   ctr   +   c  中止这个进程(或者ctr  +  d)

启动后台进程使用:  命令 +  空格  + &

还是以node为例,启动node服务器,让他在后台运行:

node   &
如果是有参数的命令,如:
mongod & --dbpath /home/lyh/dababase
运行如下:

运行后啥都没有,只看到一个进程号,这是刚才启动进程的进程号,因为是后台进程,所以在前台没有任何的交互

要查看后台进程使用:jobs   命令:

(jobs命令可以查看当前所有的后台进程和和被挂起停止的进程)


将后台进程转到前台使用命令:  

fg



将前台进程挂起到后台使用:  ctr   +    Z  (这便将进程挂起了,相当于进程暂停了运行)

将挂起进程转到后台运行,使用:

bg

这时将刚刚挂起的进程再次运行,只是他转到了后台





Linux系统进程

阅读数 57

linux进程资源限制

阅读数 310

没有更多推荐了,返回首页