深入探索Linux进程实例,轻松掌握操作技巧 (linux 进程实例)

作为一名Linux系统管理员,进程是一个不可避免的话题。了解进程,掌握进程相关的操作技巧,对于我们维护系统的稳定性、排查故障非常重要。本文将深入探索Linux进程实例,并介绍如何轻松掌握操作技巧。

一、什么是进程?

进程是操作系统中的一个重要概念,一个运行中的程序就是一个进程。在Linux中,每个进程都有一个唯一的进程ID(PID),而且进程可以运行在不同的权限级别下。有些进程是系统进程,比如内核线程;有些进程是用户进程,比如我们自己的应用程序。

二、如何查看进程?

在Linux中,我们可以使用ps命令来查看当前进程。以下是ps命令的一些常用选项:

– ps aux:列出当前系统中所有的进程信息;

– ps -ef:与ps aux相似,但是格式略有不同,可以用于查看进程树的层次结构;

– ps -C :查找指定进程名的进程信息;

– ps -p :查看指定PID的进程信息,常常用于查看指定进程是否存在。

三、如何管理进程?

在Linux中,我们可以使用kill命令来结束进程的运行。以下是kill命令的一些常用选项:

– kill -SIGTERM :向指定进程发送终止信号,相当于在Windows中点击“结束进程”按钮;

– kill -SIGKILL :向指定进程发送强制终止信号,相当于在Windows中强制关闭进程;

– killall :结束指定进程名的所有进程。

除了kill命令,我们还可以使用top命令来查看当前系统中的运行情况,以及查看每个进程的资源占用情况。以下是top命令的一些常用选项:

– top -u :只显示指定用户的进程信息,常常用于查看某个用户所使用的系统资源;

– top -d :指定top命令的刷新时间,常常用于实时监控系统运行情况;

– top -p :只显示指定PID的进程信息。

四、如何调试进程?

在Linux中,我们可以使用strace命令来跟踪进程的执行过程,并查看系统调用的参数,查找程序中的错误。以下是strace命令的一些常用选项:

– strace -p :跟踪指定PID的进程执行过程;

– strace -o :将strace输出的内容写入指定的文件中,方便进行分析;

– strace -c :统计strace输出的结果,方便查看系统调用的使用情况。

除了strace命令,我们还可以使用gdb命令来进行进程调试。gdb是一个强大的调试工具,可以帮助我们查找程序中的错误。以下是gdb命令的一些常用选项:

– gdb :使用gdb调试指定的可执行文件,可以在gdb中输入命令进行调试;

– gdb -tui :使用gdb调试指定的可执行文件,并打开图形界面,方便进行调试;

– gdb -ex “” :直接在gdb中执行指定的命令,方便进行快速调试。

相关问题拓展阅读:

Linux 怎么根据进程号,找对应的进程!

pe -eLf | grep PID

或者是

ls -l /proc/PID/皮伍兄exe 这橘芦样可以燃袭看到.

1、Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。

2、举汪液例来说,已知进程号为12840,查询其相应的进程。

ps -q 12840

说明:-q参数是ps的快速模式,使用该参数可以从pidlist中快速的读取必要的进程信息。后面接困咐物进程号简山,即pid号。

也可以使用如下命令只打印命令,也就是只显示进程名称:

ps -qo comm=

说明:-o是指明输出的格式,comm=即输出格式只输出comand,即只显示进程的名称。

1)说明:

Linux的所团猜唤有进程都兆颂保存在/proc/目录下,保存形式为:/proc/进程号。进入到进程号目录后,里面有一个cwd链接文件即指向的进程的的目录。

2) 操作:

A:确定进程号。如:4874;

B:查找进程执行的文件。ps aux | grep 4874;

C:确定进程塌凯所在的目录。ll /proc/4874;

Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。

有很多用户喜欢用两个屏幕,尤其是程序员、游戏玩家、视频制作者等,可以说双屏显示,游戏工作,两不误。那么电脑设置双屏显示或多屏显示有什么用?怎么设置双屏或多屏显示呢?下面小编简单介绍一下它的作用以及具体的操作方法吧!

双基棚屏显示器有什么好处(电脑)

1、大屏幕拼接

(拼接计算机图形,拼接动态视频)投影墙;公安、军事、铁路、交通、航天、邮电、卫星发射等指挥调度系统;图形图像编辑,三维动画,多媒体设计;工业领域的过程控制;证券交易、期货、银行信息显示;CAD/CAM设计,排版编辑系统,视频图象编辑。

2、文件编辑:

制作企划案文件资料时,同时参考搜寻相关网络资料,不会因为切换视窗而造成资料混乱。

3、绘图编辑:

使用绘图软件设计案件时,同时开启参考文案窗口,也可以延伸桌面,方便处理大型设计稿制作,与校对的窗口完全不重叠。

4、影视娱乐:

(1)收看网络电视,同时浏览其它频搏清则道的节目介绍,精彩节目不错过。

(2)玩在线游戏时,可同步对照游戏攻略的密技。

5、 办公室 :

(1)横跨两个以上的屏幕检视大型表格(如EXCEL图表)。

(2)在延伸出的桌面空间上同时开启多个程序,不需频繁地切换使用窗。

(3)读取电子邮件并同时在其它屏幕开启附件档案。

6、程序设计:

撰写复杂的程序时,另外一个窗口同时检视程序执行结果画面,方便进行更新修改。

以上就是双屏电脑的好处了,大家现在对于双屏电脑是不是也有所了解了呢?看到小编为大家列举的都是双屏电脑的好处是不是有些心动呢?下面一起来看看如何设置吧!

一、硬件要求(以Win10系统为案例)

1、电脑主机必须具备VGA/DVI/HDMI任意两路输出的独立显卡接口(一般入门级显卡就支持),如下图所示:

2、准备VGA/DVI/HDMI任意两根线,显示输出接口对应的连接线外观图如下所示:

3、两个显示器,支持VGA/DVI/HDMI任意两种接口(否则需要VGA转换器接头)

二、双屏操作步骤

1、首先把外接显示器与电脑显卡接口通过VGA/DVI/HDMI任意两种线相连接。

2、连接成功后,进入电脑系统桌面,鼠标右击桌面空白处选择【显示设置】

3、如果连接成功就可以看到显示器有2个

4、显示界面找到【多显示器设置】下方选择【扩展这些显示器】,然后两个显示器就可以正常显示了。

5、如果线路检测没问题仍然显示不出来,那么鼠标 右击桌面选择【 NVIDIA 控制面板 】

6、找到【设置多个显示器】,然后勾选我们希望使用的显示器,这样就可以 了。

三、多屏显示方法

硬件要求:

除了支持双屏的硬件条件之外,部分电脑需要进BIOS设置查找相关选项,若无法找到,说明主板不支持,请参考下面操作。

进BIOS操作步骤:

1、开机进入BIOS,找到【Devices】-【Video Setup】选项,敲击Enter回车按键;

2、选择【Select Active Video】选项设置成【IGD】模式,并将【Multi-Monitor Support】选项设置成【Enabled】模正肢式;

3、设置完成后,点击F10键,选择【Yes】进行保存;

4、重启进入操作系统后,在桌面空白处右键,从菜单中找到集成显卡控制台程序,进行多屏显示设置即可。

1、Linux根据漏卜丛进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。

2、举例来说,已知进程号为12840,查询其相应的进程。

ps -q 12840

说明:-q参数是ps的快速模式,使用该参弊桥数可以从pidlist中快速的读取必要的进程信息。后面接进程号,即pid号。

也可以使用如下命令只打印命令,也就是只显示进程名称:

ps -qo comm=

说明:-o是指明输出的格式,comm=即输出格式只输出comand,即只显示进程的名称。1)说明:

Linux的所有进程都保存在/proc/目录下,保存形式为:/proc/进返樱程号。进入到进程号目录后,里面有一个cwd链接文件即指向的进程的的目录。

2) 操作:

A:确定进程号。如:4874;

B:查找进程执行的文件。ps aux | grep 4874;

C:确定进程所在的目录。ll /proc/4874;

Linux终止前台进程的命令

ctrl +c

1、首和扰培先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、其次,以终止进程号1984的nginx子进程为例,在linux命令行中输入:kill。

3、最后,按下回车键执行shell指令,此时会看到进李配程号1984的nginx子进程被成唤唯功终止了。

1、首先,连接相应linux主机,进入到linux

命令行

状态下,等待输入shell指令。

2、其次,以终止进程号1984的nginx子进程为例,在linux命令行桥颂派中输入:kill。

3、最后,按下樱轮

回车键

执行shell指令,此时会看到进程号1984的nginx子进程敏贺被成功终止了。

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结册烂束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。

1.命令格式:

kill

2.命令功能:

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。橡姿和如果任梁盯无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

3.命令参数:

-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a 当处理当前进程时,不限制命令名和进程号的对应关系

-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号

-s 指定发送信号

-u 指定用户

注意:

1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:

kill

它的效果等同于在前台运行PID为123的进程时按下Ctrl+C键。但是,普通用户只能使用不带signal参数的kill命令或最多使用-9信号。

2、kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。

3、可以向多个进程发信号或终止它们。

4、当kill成功地发送了信号后,shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示出来。

5、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。

4.使用实例:

实例1:列出所有信号名称

命令:

kill -l

输出:

# kill -l

1) SIGHUP) SIGINT) SIGQUIT) SIGILL

5) SIGTRAP) SIGABRT) SIGBUS) SIGFPE

9) SIGKILL) SIGUSR) SIGSEGV) SIGUSR2

13) SIGPIPE) SIGALRM) SIGTERM) SIGSTKFLT

17) SIGCHLD) SIGCONT) SIGSTOP) SIGTSTP

21) SIGTTIN) SIGTTOU) SIGURG) SIGXCPU

25) SIGXFSZ) SIGVTALRM 27) SIGPROF) SIGWINCH

29) SIGIO) SIGPWR) SIGSYS) SIGRTMIN

35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4

39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8

43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12

47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14

51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10

55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6

59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

63) SIGRTMAX-1 64) SIGRTMAX

说明:

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。下面是常用的信号:

HUP终端断线

INT中断(同 Ctrl + C)

QUIT退出(同 Ctrl + \)

TERM终止

KILL强制终止

CONT继续(与STOP相反, fg/bg命令)

STOP暂停(同 Ctrl + Z)

实例2:得到指定信号的数值

命令:

输出:

# kill -l KILL

9# kill -l SIGKILL

9# kill -l TERM

15# kill -l SIGTERM

15#

说明:

实例3:先用ps查找进程,然后用kill杀掉

命令:

kill 3268

输出:

# ps -ef|grep vim

root:21 pts/:00:00 vim install.log

root:21 pts/:00:00 grep vim

# kill 3268

# kill 3268

-bash: kill: (3268) – 没有那个进程

#

说明:

实例4:彻底杀死进程

命令:

kill –

输出:

# ps -ef|grep vim

root:21 pts/:00:00 vim install.log

root:21 pts/:00:00 grep vim

# kill –

# kill 3268

-bash: kill: (3268) – 没有那个进程

#

说明:

实例5:杀死指定用户所有进程

命令:

kill -9 $(ps -ef | grep peidalinux)

kill -u peidalinux

输出:

# kill -9 $(ps -ef | grep peidalinux)

# kill -u peidalinux

说明:

方法一,过滤出hnlinux用户进程并杀死

实例6:init进程是不可杀的

命令:

kill -9 1

输出:

# ps -ef|grep init

root 0 0 Nov02 ?:00:00 init

root:37 pts/:00:00 grep init

# kill -9 1

# kill -HUP 1

# ps -ef|grep init

root 0 0 Nov02 ?:00:00 init

root:38 pts/:00:00 grep init

# kill -KILL 1

# ps -ef|grep init

root 0 0 Nov02 ?:00:00 init

root:38 pts/:00:00 grep init

#

说明:

init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是之一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!

Linux后台进程

引入的原因: 用灶物桐于控制向多个进程进行信号的分发,发给一个进程组是信号会发生给进程组中每一个进程

会话是一个或者多个进程组的,进程调用 setsid 函数建立一个会话。

进程调用setsid函数建立一个新的会话,会发生下面几件事

守护进程是生存期长的一种进程,没有控制终端。他们常常在系统引导装入时启动,系统关闭是终止。守护进程程序通常以字母 d 结尾。

用户层的守护进程的父进程是 init 进程。内核的守护进程并非init进程。

以 & 方式运行的为后台进程

比如: ping

www.baidu.com

&

通过 jobs 命令查看

将后台程序放到前台

通过 control+c 命名发送’hupinit‘信号kill掉进程隐坦

终端被挂断或者用户注销,SIGHUP信号会被发送到该终端相关的控制程序,而SIGHUP的默认行为是终止程序的运行。

需要实现终端退出后进程依然在后台运行,有两种途径

如果setid函数的进程就是一个进程组的组长,则函数会返回出错。为了解决这样情况,通常函数需要先fork,然后父进程退出,由子进程执行setsid。由于子进程继承的是父进程的进程组ID,而其PID是新分配的ID,因此这两者不可能相等,即子进程不可能是进程组的组长。 这种情况下,由于父进程先于子进程退出,因此子进程的父进程会有init进程接管。 而这就是sid命令的实现原理。

设置 setsid

www.baidu.com

我们对比下和nohup

我们可以看到setsid的父进程变成了init进蚂老程。由于会话和父进程和shell无关了,因此无论如何shell都无法向该进程发送SIGHUP命令

linux 进程实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 进程实例,深入探索Linux进程实例,轻松掌握操作技巧,Linux 怎么根据进程号,找对应的进程!,Linux终止前台进程的命令,Linux后台进程的信息别忘了在本站进行查找喔。


数据运维技术 » 深入探索Linux进程实例,轻松掌握操作技巧 (linux 进程实例)