Linux进程管理作业控制及虚拟文件系统

简介: 作业控制是一个命令行功能,也叫后台运行。

一、作业控制


1、简介


1)概述


       作业控制是一个命令行功能,也叫后台运行。


2)关键词介绍


goreground(fg):前台进程:是在终端中运行的命令,占领终端。

background(bg):后台进程:没有控制终端,他不需要终端的交互,看不到,但是在运行。


2、后台程序控制


1)观察占领前端的现象


命令:sleep   等待时间


[root@localhost ~]# sleep 2000        //sleep程序前台运行
^C                                    //按Ctrl+c终止进程
[root@localhost ~]#


运行一个程序,当前 终端无法输入。观察占领前台的现象。
大部分命令行输入已经无效。

Ctrl+C可终止当前进程。


2)将程序在后台运行


命令:sleep  等待时间  &                //不管什么命令末尾加上&代表着该程序在后台运行,不占用前台。

[root@localhost ~]# vim  /test/file1 &            //vim进程在后台运行
[2] 3045
[root@localhost ~]# sleep 3000 &                 //sleep  3000在后台运行
[3] 3061
[2]+  已停止               vim /test/file1
[root@localhost ~]# sleep 4000 &                    //sleep  4000在后台运行
[4] 3076


3)查看进程(所有进程以及后台进程)


命令:ps aux | grep sleep        //查询所有sleep进程
          jobs                               //查询后台进程

[root@localhost ~]# ps aux|grep sleep                //查询所有sleep进程信息
root       3061  0.0  0.0 108052   356 pts/0    S    08:59   0:00 sleep 3000
root       3076  0.0  0.0 108052   356 pts/0    S    08:59   0:00 sleep 4000
root       3377  0.0  0.0 108052   356 ?        S    09:24   0:00 sleep 60
root       3393  0.0  0.0 112824   980 pts/0    R+   09:25   0:00 grep --color=auto sleep
[root@localhost ~]# jobs                            //查询所有后台进程信息
[2]+  已停止               vim /test/file1
[3]   运行中               sleep 3000 &
[4]-  运行中               sleep 4000 &


ps aux输出的信息代表的含义可参考http://t.csdn.cn/OaXXO内容


后台进程信息的方括号内的数字代表着,后台进程的序号,在对后台进程进行操作的时候用这些序号


4)将后台进程调到前台


命令:fg  后台进程序号                        //将指定的后台进程调至前台

[root@localhost ~]# jobs
[2]+  已停止               vim /test/file1
[3]   运行中               sleep 3000 &
[4]-  运行中               sleep 4000 &
[root@localhost ~]# fg 3                //将三号后台进程调到前台
sleep 3000                              //sleep 3000到了前台运行
这个时候所有命令输入都失效,按Ctrl+Z可将该进程移到后台
^Z                                        //Ctrl+Z
[3]+  已停止               sleep 3000    //此时sleep到了后台运行切已停止,用bg命令:bg 后台进程序号,将该进程变为运行状态
[root@localhost ~]# bg 3
[3]+ sleep 3000 &
[root@localhost ~]# jobs
[2]+  已停止               vim /test/file1
[3]   运行中               sleep 3000 &
[4]-  运行中               sleep 4000 &


5)消灭后台进程


命令:kill   %后台进程序号


注意:注意,“kill  1” 和 “kill  %1”不同

前者终止PID为1的进程

后者是杀死作业序号为1的后台程序

[root@localhost ~]# jobs                        //查看所有后台进程信息
[2]+  已停止               vim /test/file1
[3]   运行中               sleep 3000 &
[4]-  运行中               sleep 4000 &
[root@localhost ~]# kill %3                //杀死3号后台进程
[3]+  已终止               sleep 3000
[root@localhost ~]# jobs                    //3号后台进程被终止
[2]+  已停止               vim /test/file1
[4]-  运行中               sleep 4000 &


6)总结


&                                 //后台运行程序

jobs                              //查询后台

kill  %后台进程号         //停止后台进程


二、虚拟文件系统proc


1、简介


虚拟文件系统:采集服务器自身 内核、进程运行的状态信息


1)CPU


位置:/proc/cpuinfo

查看CPU信息:命令:cat   /proc/cpuinfo


[root@localhost ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family  : 6
model   : 158
model name  : Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz    //CPU的版本信息
stepping  : 10
microcode : 0xb4
cpu MHz   : 2400.006
cache size  : 8192 KB
physical id : 0
siblings  : 1
core id   : 0
cpu cores : 1
apicid    : 0
initial apicid  : 0
fpu   : yes
fpu_exception : yes
cpuid level : 22
wp    : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips  : 4800.01
clflush size  : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:


2)内存


位置:/proc/meminfo

查看内存信息:命令:cat   /proc/meminfo


[root@localhost ~]# cat /proc/meminfo
MemTotal:         995676 kB
MemFree:           78340 kB
MemAvailable:     106484 kB
Buffers:              40 kB
Cached:           141940 kB
SwapCached:         7056 kB
Active:           281584 kB
Inactive:         311344 kB
Active(anon):     218332 kB
Inactive(anon):   246860 kB
Active(file):      63252 kB
Inactive(file):    64484 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097148 kB
SwapFree:        2054140 kB
Dirty:                20 kB
Writeback:             0 kB
AnonPages:        445268 kB
Mapped:            66112 kB
Shmem:             14244 kB
Slab:             120452 kB
SReclaimable:      56216 kB
SUnreclaim:        64236 kB
KernelStack:        9616 kB
PageTables:        35212 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2594984 kB
Committed_AS:    3990648 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      213604 kB
VmallocChunk:   34359277564 kB
Percpu:            55808 kB
HardwareCorrupted:     0 kB
AnonHugePages:     36864 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      100224 kB
DirectMap2M:      948224 kB
DirectMap1G:           0 kB


3)内核


位置:/proc/cmdline

查看内核信息:命令:cat   /proc/cmdline


[root@localhost ~]# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root 
ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root 
rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8









相关文章
|
1月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
81 1
|
13天前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
72 20
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
73 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
23天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
169 14
|
22天前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
67 6
|
24天前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
155 6
|
1月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
105 13
|
1月前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
1月前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
2月前
|
缓存 算法 Linux
Linux内核的心脏:深入理解进程调度器
本文探讨了Linux操作系统中至关重要的组成部分——进程调度器。通过分析其工作原理、调度算法以及在不同场景下的表现,揭示它是如何高效管理CPU资源,确保系统响应性和公平性的。本文旨在为读者提供一个清晰的视图,了解在多任务环境下,Linux是如何智能地分配处理器时间给各个进程的。

热门文章

最新文章