Linux Guard Service - 前台进程和后台进程切换
把一个正在执行的程序放入后台
[root@localhost 01]# Ctrl+Z
此使程序被移动到后台,但不能继续输出(处于暂停态)
[root@localhost 01]# ./test1-1
1552227
1552227
1552227
1552227
^Z
[1]+ 已停止 ./test1-1
[root@localhost 01]#
[root@localhost 01]#
[root@localhost 01]# jobs
[1]+ 已停止 ./test1-1
让该后台程序继续在后台运行
[root@localhost 01]# bg %1
[1]+ ./test1-1 &
1552227
[root@localhost 01]# 1552227
1552227
1552227
^C
列出后台程序列表
[root@localhost 01]# jobs
显示已经进入后台的程序列表
[root@localhost 01]# jobs
[1] 已停止 ./test1-1
[2]- 已停止 ./test1-1
[3]+ 已停止 man jobs
其中+是倒数第一个后台进程,-是倒数第二个后台进程,前方是后台进程的序号
[root@localhost 01]# jobs
[1]- 已停止 ./test1-1
[2]+ 已停止 ./test1-2
将某个特定后台程序切换到前台
[root@localhost 01]# fg %n
其中n是jobs列表中的后台进程序号
[root@localhost 01]# fg %1
./test1-1
1552227
1552227
查看父进程标识
[root@localhost 01]# ps f
PID TTY STAT TIME COMMAND
49561 pts/1 Ss 0:00 -bash
49959 pts/1 T 0:00 \_ ./test1-1
49960 pts/1 T 0:00 \_ ./test1-2
49962 pts/1 R+ 0:00 \_ ps f
2496 tty1 Ss+ 0:00 -bash
使用ps f以树形显示所有进程可以查看到test1-1 test1-2的父进程都是-bash
在新终端查看进程标识
[root@localhost ~]# ps f
PID TTY STAT TIME COMMAND
50060 pts/3 Ss 0:00 -bash
50093 pts/3 R+ 0:00 \_ ps f
50010 pts/2 Ss+ 0:00 -bash
49561 pts/1 Ss+ 0:00 -bash
49959 pts/1 T 0:00 \_ ./test1-1
49960 pts/1 T 0:00 \_ ./test1-2
2496 tty1 Ss+ 0:00 -bash
在新终端打开后test1-1和test1-2的父进程是pts/1 的-bash也就是旧终端,新终端的-bash是pts/3,此使用jobs没有test1-1和test1-2了
按Ctrl+D时登出终端
[root@localhost 01]# 登出
显示有停止的任务,再使用ps -ef查看列表,后台任务依然存在
再按一次Ctrl+D,终端已经登出,切换到另一个终端查看
Last login: Sun Oct 15 18:26:48 2017 from 192.168.80.1
[root@localhost ~]# ps -ef | grep test
root 49959 1 0 18:27 ? 00:00:00 ./test1-1
该进程被init进程收养后继续运行,称孤儿进程
直接把程序放到后台执行 &
[root@localhost 01]# ./test1-1 &
此使程序会自动在后台继续运行,并进行输出
[root@localhost 01]# ./test1-1 &
[1] 49856
[root@localhost 01]# 1552227
1552227
保持后台程序在终端结束后依然存在
使用守护进程让进程不以终端为父进程
daemon(0,0);
ps -ef 中的状态含义
D 不可中断 Uninterruptible sleep (usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
+ 位于后台的进程组;
l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
Linux Guard Service - 前台进程和后台进程切换的更多相关文章
- Linux Guard Service - 进程分裂与脱离
进程分裂更名 void set_ps_name(char *name) { prctl(PR_SET_NAME, name); } 修改进程长名称 备份进程环境变量空间 for (i = 1; i & ...
- Linux Guard Service - 守护进程再次分裂子进程
当系统区内存不能再申请新进程的时候申请会失败 在512MB内存下最多分配的子进程数 3331 [root@localhost 05]# ./test5-1 50000 expect 50000 sub ...
- Linux Guard Service - 杀死守护进程
杀死某个子进程 杀死守护进程的子进程后,改进程会变为僵尸进程 14087 ? Ss 0:00 ./test4-1 14088 ? S 0:00 \_ ./test4-1 14089 ? S 0:00 ...
- Linux Guard Service - 守护进程分裂
分裂守护进程 由于fork()后第一行仍然在循环中,使用fork()返回值鉴别当前进程的性质 int i = 0; for (i = 0; i < 10; i++) { // sleep(1); ...
- Linux Guard Service - 守护进程的作用、用途、父进程标识的特点
让test2直接成为守护进程 [root@localhost 02]# cat test2.c //test2 #include<stdio.h> #include<unistd.h ...
- 操作系统中前台进程与后台进程(适用于Linux)
两种进程的主要区别: 1.前台进程用户可以操作,后台进程用户不能操作(除了把它关闭). 2.前台进程不全是由计算机自动控制,后台进程全都是由计算机自动控制. 3.后台进程一般用作系统服务,可以用cro ...
- 将Apache加入到linux系统service
将Apache加入到linux系统service 将apache加入到linux系统服务,用service命令来控制apache的启动和停止. 本文由乌合之众瞎写http://www.cnblogs. ...
- Linux: service network/Network/NetworkManager
Linux:service network/Network/NetworkManager start 这三种有什么不同? 1.network service的制御网络接口配置信息改动后,网络服务必须从 ...
- Linux图形界面和命令界面切换
转至:https://blog.csdn.net/weixin_43683466/article/details/85727723 1.若虚拟机内热键被占用,可通过下图所示修改,移出快捷键ctrl+a ...
随机推荐
- CentOS7|Redhat7挂载NTFS格式磁盘
//下载安装ntfs-3g_ntfsprogs.tgz软件包进行编译安装 tar -zxf ntfs-3g_ntfsprogs.tgz cd ntfs-3g_ntfsprogs ./configure ...
- IE6中PNG图片背景无法透明显示的最佳解决方案
我想,对于像我这样的年轻的程序员来说,做网页开发时用chrome.firefox或者ie10什么的大约是被宠坏了.所以当最近做的项目不得不在恐龙化石般的ie6上运行时,ie6种种诡异的行径简直让我发指 ...
- linux条件变量
条件变量用于线程之间的通信,和互斥锁一起使用.条件变量用于及时通知等待的线程条件的变化,使线程不至于错过变化. 考虑下面的情况,有AB两个线程对index这个全局变量进行++,一个线程C用于判断,in ...
- python学习——练习题(11)
""" 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1 1 2 ...
- jq循环方法
jq在前台使用很广泛,其中不可避免会用到循环,for循环可以,但有时不方便,下边举两个jq循环: 第一个: $.each(数组或对象,function(index,item){ //循环的逻辑代码 } ...
- 使用ExitProcess()结束本进程、TerminateProcess 结束进程
进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正常退出,进程中的所有线程资源都能够得到正确的 ...
- 【312】◀▶ arcpy 常用函数说明
其他常用的 ArcPy 函数说明 序号 类名称 功能说明 语法 & 举例 01 RefreshActiveView ====<<<< Description ...
- 从socket开始讲IOS网络编程
home list tags talk user rss Mac&iOS Socket 大纲 一.Socket简介 二.BSD Socket编程准备 1.地址 2.端口 3.网络字节序 4.半 ...
- WIN7下为Editplus添加右键打开
解决某些特殊情况, EditPlus 3在Windows7下使用右键菜单无法编辑文件的问题.1.Ctrl+R运行regedit2.在 HKEY_CLASSES_ROOT\* 下新建项 shell3.在 ...
- centos7 安装wxPython
*** exact error that occured. This usually means GTK+ is incorrectly installed. configure: error: ...