如何在Linux系统中查看正在运行的命令?

在 Linux 系统中,可以使用 ps 命令来查看当前正在运行的进程。使用 ps aux 可以显示所有用户的所有进程信息。

在 Linux 操作系统中,查看正在运行的命令是系统管理和故障排除的重要组成部分,以下是一些常用的命令和工具,可以帮助你查看系统中当前运行的进程及其详细信息。

如何在Linux系统中查看正在运行的命令?

ps 命令

ps(process status)命令是最常用来查看进程状态的工具之一,它可以显示当前终端会话中的进程信息,或者通过特定选项查看整个系统的进程。

ps aux

a:显示所有用户的进程

u:以用户友好格式显示

x:显示没有控制终端的进程

输出示例:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  2256  692 ?        Ss   10:23   0:01 /sbin/init
...

top 命令

top 命令是一个实时的系统监控工具,可以动态地显示系统中各个进程的资源使用情况,它会定期刷新,默认每隔 3 秒更新一次。

top

输出示例:

top 10:25:34 up 10 days,  3:45,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  89 total,   1 running,  88 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.5 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048560 total,   345672 free,   512000 used,  1190888 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1643368 avail Mem 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                             
  1029 root      20   0  123456   65432   43212 S   0.1  3.2   0:05.23 some_process

htop 命令

htoptop 命令的一个增强版,提供了更友好的用户界面和更多的交互功能,它需要单独安装。

sudo apt-get install htop  # Debian/Ubuntu
sudo yum install htop      # CentOS/RHEL

启动htop

如何在Linux系统中查看正在运行的命令?

htop

pstree 命令

pstree 命令以树状结构显示进程之间的关系,有助于理解进程之间的父子关系。

pstree

输出示例:

systemd─┬─ModemManager
       ├─NetworkManager───dhclient
       ├─accounts-daemon───at-spi-dbus-bus
       ├─agetty───bash───sshd───sshd───bash───top
       ├─cron
       ├─dbus-daemon
       ├─irqbalance
       ├─rsyslogd───rsyslogd
       ├─systemd-journal
       ├─systemd-logind───getty@tty1
       ├─systemd-logind───getty@tty2
       ├─systemd-logind───getty@tty3
       ├─systemd-logind───getty@tty4
       ├─systemd-logind───getty@tty5
       ├─systemd-logind───getty@tty6
       ├─systemd-udevd───udevd───udevd-fallback-g...
       └─udisks-glue

netstat 命令

netstat 命令用于显示网络连接、路由表、接口统计等信息,它可以帮助你查看哪些进程在监听端口或建立连接。

netstat -tuln

输出示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      5678/apache2

lsof 命令

lsof(list open files)命令列出当前打开的文件,包括网络套接字、设备文件等,它可以用来查看某个端口被哪个进程占用。

lsof -i :80

输出示例:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2   5678 root    4u  IPv4  12345      0t0  TCP *:http (LISTEN)

systemctl 命令

systemctl 是 systemd 的前端命令,用于管理系统和服务,你可以用它来查看服务的状态。

systemctl status <service-name>
systemctl status httpd.service

输出示例:

● httpd.service The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-10-02 10:23:45 PDT; 5min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1234 (httpd)
   CGroup: /system.slice/httpd.service
           ├─1234 /usr/sbin/httpd -DFOREGROUND
           ├─1235 /usr/sbin/httpd -DFOREGROUND
           └─1236 /usr/sbin/httpd -DFOREGROUND

FAQs

如何在Linux系统中查看正在运行的命令?

Q1: 如何杀死一个进程?

A1: 你可以使用kill 命令来终止一个进程,你需要知道要终止的进程的 PID(进程 ID),然后使用以下命令:

kill <PID>

如果普通的kill 命令不起作用,可以尝试使用-9 参数强制终止进程:

kill -9 <PID>

你还可以使用pkill 根据进程名来终止进程:

pkill <process-name>
pkill httpd

这将终止所有名为httpd 的进程。

Q2: 如何限制某个进程的资源使用?

A2: 你可以使用cgroups(控制组)来限制进程的资源使用,限制 CPU 使用率和内存使用量,以下是一个简单的例子,如何使用cgcreatecgexec 命令来创建一个控制组并限制资源:

创建一个新的 cgroup
sudo cgcreate -g memory,cpu:/mygroup
将进程放入 cgroup,并限制其最大内存使用为 512MB,CPU 使用率为 50%
sudo cgexec -g memory,cpu:/mygroup --maxmem=512M --cpuset=0-3 your_command_here

这些命令可能需要管理员权限,并且你的系统需要支持cgroups,不同的 Linux 发行版可能有不同的配置和管理方式,具体可以参考相应的文档。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1270859.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-11-08 09:15
下一篇 2024-11-08 09:21

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入