SCP使用SIGSTOP后台运行并简单讨论孤儿进程僵尸进程

简介: 关于LINUX SCP后台运行 1、进入会话后 scp  -P 31079 gaopeng@10.10.10.1:/home/gaopeng/yjf_openapi.
关于LINUX SCP后台运行


1、进入会话后
scp  -P 31079 gaopeng@10.10.10.1:/home/gaopeng/yjf_openapi.sql.gz yjf_openapi.sql.gz
输入密码,进程前台运行
2、发出CTRL+Z 信号 SIGSTOP
[1]+  Stopped                 scp -P 31079 gaopeng@ 10.10.10.1:/home/gaopeng/yjf_openapi.sql.gz yjf_openapi.sql.gz
3、查看JOBS
[root@dyzsdb2 ~]# jobs
[1]+  Stopped                 scp -P 31079 gaopeng@ 10.10.10.1:/home/gaopeng/yjf_openapi.sql.gz yjf_openapi.sql.gz
4、使用bg 1命令
然后job 1后台运行
5、关闭SHELL 窗口再次查看
root     16297     1  0 16:54 ?        00:00:01 scp -P 31079 gaopeng@ 10.10.10.1:/home/gaopeng/yjf_openapi.sql.gz yjf_openapi.sql.gz


这个时候可以看到我的SCP进程PPID 是1,由INIT 1,我们的SCP进程成为了孤儿进程由INIT进程接管,但是SCP继续运行没有问题




这里简单说明一下概念:
1、当我们连接到LINUX后创建一个的第一个进程就是SHELL进程
init─┬─abrt-dump-oops
     ├─abrtd
     ├─acpid
     ├─atd
     ├─auditd───{auditd}
     ├─automount───4*[{automount}]
     ├─certmonger
     ├─crond
     ├─cupsd
     ├─dbus-daemon───{dbus-daemon}
     ├─hald───hald-runner─┬─hald-addon-acpi
     │                    └─hald-addon-inpu
     ├─irqbalance
     ├─master─┬─pickup
     │        └─qmgr
     ├─mcelog
     ├─6*[mingetty]
     ├─mysqld_safe───mysqld───54*[{mysqld}]
     ├─mysqld_safe───mysqld───444*[{mysqld}]
     ├─rpc.idmapd
     ├─rpc.statd
     ├─rpcbind
     ├─rsyslogd───3*[{rsyslogd}]
     ├─scp───ssh
     ├─sshd───sshd───bash───pstree
     └─udevd───2*[udevd]
我们可以使用PSTREE 简单的看一下 
├─sshd───sshd───bash───pstree
可以看到,我们SHELL进程实际是由SSHD进程FORK出来,而SSHD是由INIT FORK出来。
而我们使用SCP的时候实际就是├─sshd───sshd───bash───SCP SCP由BASH FORK出来
这个时候我们发出了CTRL+Z的SIGSTOP信号来STOP了进程SCP 然后使用bg命令来在后台进程
这个时候我们推出了SHELL进程那么
├─sshd───sshd───bash───SCP 
bash就没有了 SCP成了没有父亲的孤儿进程,LINUX系统所有的孤儿进程由INIT接管。


父进程对所有的子进程都是起着监控运行状态和结束后回收资源的作用,如果父进程在子进程运行
完成后没有回收其PCB,那么出现的是僵尸进程,所以我们写程序也需要使用WAITPID函数进行资源
回收。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Linux C语言
Linux: 僵尸进程究竟是什么?有什么危害?
Linux: 僵尸进程究竟是什么?有什么危害?
324 0
|
Linux C++
Linux c/c++进程之僵尸进程和守护进程
这篇文章介绍了Linux系统中僵尸进程和守护进程的概念、产生原因、解决方法以及如何创建守护进程。
324 0
|
调度 Python
并发编程 , 孤儿进程 , 守护进程
并发编程 , 孤儿进程 , 守护进程
|
安全 Java
多线程(CAS, ABA问题, Runnable & Callable & 僵尸线程 & 孤儿进程)
多线程(CAS, ABA问题, Runnable & Callable & 僵尸线程 & 孤儿进程)
225 1
|
Linux Shell 调度
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
|
Linux 调度
【Linux】详解进程状态之僵尸进程——孤儿进程
【Linux】详解进程状态之僵尸进程——孤儿进程
371 0
【Linux】详解进程状态之僵尸进程——孤儿进程
|
NoSQL Linux Shell
【进程概念】进程状态以及僵尸进程(结合代码)
【进程概念】进程状态以及僵尸进程(结合代码)
|
弹性计算 Shell Linux
查找Linux 系统中的僵尸进程
【4月更文挑战第29天】
111 0
|
弹性计算 Shell Linux
查找 Linux 系统中的僵尸进程
【4月更文挑战第28天】
142 0
|
Linux Shell 调度
【Linux】进程排队的理解&&进程状态的表述&&僵尸进程和孤儿进程的理解
【Linux】进程排队的理解&&进程状态的表述&&僵尸进程和孤儿进程的理解
209 0

热门文章

最新文章