进程,顾名思义,运行中的程序,进程作为操作系统的基本运作单位,每一个进程都有唯一的进程号ID,而我们管理进程就是通过这个ID。
ps
如何查看每个程序的运行状态,就使用ps命令。这里说下父进程和子进程的概念,子进程是通过父进程衍生出来的,没有父进程的进程我们称之为孤儿进程。
查看当前bash环境的进程情况:
# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 43530 43528 0 80 0 - 28886 do_wai pts/0 00:00:00 bash 0 R 0 43552 43530 0 80 0 - 38336 - pts/0 00:00:00 ps
这里UID表示用户ID,PID表示该进程ID,PPID表示父进程的ID.
查看所有进程情况;
# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND …… root 2 0.0 0.0 0 0 ? S Sep29 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Sep29 0:02 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Sep29 0:00 [kworker/0:0H] ……
通过ps aux可以查看所有进程情况,但是它没有列出父进程ID。我们可以用ps -lA或ps -ef来查看所有进程且显示父进程ID.
[root@localhost ~]# ps -lA F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 80 0 - 47844 ep_pol ? 00:00:04 systemd 1 S 0 2 0 0 80 0 - 0 kthrea ? 00:00:00 kthreadd 1 S 0 3 2 0 80 0 - 0 smpboo ? 00:00:02 ksoftirqd/0
pstree
虽然上面查看所有进程列出了父进程ID,但父子进程间关系不能一目了然。我们可以pstree,以进程树的方式列出所有进程。
# pstree -up systemd(1)─┬─BT-Panel(5462)───{BT-Panel}(5469) ├─BT-Task(5361)─┬─{BT-Task}(5375) │ ├─{BT-Task}(5376) │ ├─{BT-Task}(5377) │ ├─{BT-Task}(5381) │ ├─{BT-Task}(5382) │ └─{BT-Task}(5390) ……
还可以查看特定进程的进程数。
# pstree -p 5389 -up mysqld(5389,mysql)─┬─{mysqld}(5414) ├─{mysqld}(5415) ├─{mysqld}(5416) ……
pidof
通过进程名称查看进程ID号。比如我想知道mysqld进程ID,那么就可以通过pidof命令查看。
# pidof mysqld 5389
注意,服务器上可能有多个相同的进程名称,那么通过pidof就会找出不止一个进程ID.
# pidof php-fpm 42609 41610 41588 ……
kill、killall
对于进程的管理,我们是通过进程号PID以及一个信号signal来管理的。
代号 | 名称 | 内容 |
1 | SIGHUP | 启动被终止的程序,可让该PID 重新读取自己的配置文件,类似重新启动 |
2 | SIGINT | 相当于用键盘输入[ctrl]-c 来中断一个程序的进行 |
9 | SIGKILL | 代表强制中断一个程序的进行 |
15 | SIGTERM | 以正常的结束程序来终止该程序。由于是正常的终止, 所以后续的动作会将他完成。该信号也是默认值,不加任何信号时,即表示使用该值。 |
19 | SIGSTOP | 相当于用键盘输入[ctrl]-z 来暂停一个程序的进行 |
对于kill、killall的区别是,kill通过进程ID来管理进程,而killall通过进程名称来管理进程。
# kill -15 4260 # killall -9 php-fpm # 注意,这样会杀死所有php-fpm进程
以上是linux下的进程管理——ps,pstree等命令介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux操作系统的5个核心组件是:1.内核,2.系统库,3.系统工具,4.系统服务,5.文件系统。这些组件协同工作,确保系统的稳定和高效运行,共同构成了一个强大而灵活的操作系统。

Linux的五个核心元素是:1.内核,2.命令行界面,3.文件系统,4.包管理,5.社区与开源。这些元素共同定义了Linux的本质和功能。

Linux用户管理和安全性可以通过以下步骤实现:1.创建用户和组,使用命令如sudouseradd-m-gdevelopers-s/bin/bashjohn。2.批量创建用户和设置密码策略,使用for循环和chpasswd命令。3.检查和修复常见错误,如家目录和shell设置。4.实施最佳实践,如强密码策略、定期审计和最小权限原则。5.优化性能,使用sudo和调整PAM模块配置。通过这些方法,可以有效管理用户和提升系统安全性。

Linux文件系统和进程管理的核心操作包括文件系统的管理和进程的控制。1)文件系统操作包括创建、删除、复制和移动文件或目录,使用命令如mkdir、rmdir、cp和mv。2)进程管理涉及启动、监控和终止进程,使用命令如./my_script.sh&、top和kill。

Shell脚本是Linux系统中用于自动化执行命令的强大工具。1)Shell脚本通过解释器逐行执行命令,处理变量替换和条件判断。2)基本用法包括备份操作,如使用tar命令备份目录。3)高级用法涉及使用函数和case语句管理服务。4)调试技巧包括使用set-x开启调试模式和set-e在命令失败时退出。5)性能优化建议避免子Shell,使用数组和优化循环。

Linux是一个基于Unix的多用户、多任务操作系统,强调简单性、模块化和开放性。其核心功能包括:文件系统:以树状结构组织,支持多种文件系统如ext4、XFS、Btrfs,使用df-T查看文件系统类型。进程管理:通过ps命令查看进程,使用PID管理进程,涉及优先级设置和信号处理。网络配置:灵活设置IP地址和管理网络服务,使用sudoipaddradd配置IP。这些功能在实际操作中通过基本命令和高级脚本自动化得以应用,提升效率并减少错误。

进入Linux维护模式的方法包括:1.编辑GRUB配置文件,添加"single"或"1"参数并更新GRUB配置;2.在GRUB菜单中编辑启动参数,添加"single"或"1"。退出维护模式只需重启系统。通过这些步骤,你可以在需要时快速进入维护模式,并安全地退出,确保系统的稳定性和安全性。

Linux的核心组件包括内核、shell、文件系统、进程管理和内存管理。1)内核管理系统资源,2)shell提供用户交互界面,3)文件系统支持多种格式,4)进程管理通过fork等系统调用实现,5)内存管理使用虚拟内存技术。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器