Linux教程之进程介绍(ps)

进程介绍

针对 ubuntu20.04
ubuntu 20.04 是 “西柚云” 主要使用的操作系统 西柚云官网

什么是进程?进程就是运行的程序。

我们可以(运行程序,终止程序,查看程序的运行状态)

那么我们如何产生1个进程呢?我们通常使用命令,命令对应程序,程序执行后就会产生进程。

如:

# 输入 python3 进入python3 的交互模式中,期间你可以执行 python 代码,输入 exit()退出该模式
python3
print("hello, xiyouyun")
exit()

# 输出一串字符串
echo "hello, xiyouyun"

运行在前台的进程:

# 1 个 sleep 进程,占用终端 1000s 不做操作
sleep 1000
# 这些都是运行在前台的进程
pwd
ls
cd

这种运行后就占用了终端,让我们不能做其他操作的进程,我们称它运行在前台,可以使用 ctrl + c 结束运行。

运行在后台的程序:

# 让进程在后台运行
sleep 1001 &
sleep 10086 &
sleep 10010 &
echo "hello, xiyouyun" > xiyou.txt

运行在后台的进程,需要借助进程的 pid 来终止进程。如何查找到进程的 pid 呢?这就涉及到进程信息的查看。

进程查看(ps)

参数 含义
e 显示所有进程
f 搭配 e 使用,显示更全面的信息
a 显示终端的所有进程,包括其他用户的进程
u 默认显示当前用户的进程,也可指定用户,和 a 组合在一起会显示所有进程的用户名
x 显示不在某个终端运行的进程,如 init 进程,TTY 为 ?

常用查看进程的方式:

# 利用运行进程使用的命令中的关键字查询出进程的 pid
ps -ef | grep <keyword>

ps -aux | grep <keyword>
# 查看当前用户运行的全部进程
ps -ux 

杀死进程

# 使用 kill 命令来杀死进程
kill -9 <pid>
kill -15 <pid>

9 和 15 这两个数字的含义可以在终端输入 htop,然后按 F9 查看,每个数字对应了一种发送给进程的信号。

  • 15 对应的是 SIGTERM,通知进程结束,不加参数时,如:kill pid 默认使用该信号终止进程。
  • 9 对应的是 SIGKILL,强制终止进程。

所以我们也可以在 htop 界面中发送相应的信号来结束进程。

补充内容

  • 杀掉包含关键字的所有程序(切记杀死进程前需要确认,防止误杀

    # 以进程信息中包含 jupyter 关键字为例
    # 杀死进程前,需确认列出的进程不包含不想杀死的进程,如果包含不想杀死的进程,可以使用 grep 增加筛选条件,直至输出的进程信息全部为你想要杀死的进程为止
    ps -ux
    ps -ux | grep jupyter
    ps -ux | grep jupyter | grep -v grep 
    ps -ux | grep jupyter | gerp -v grep | grep <keyword>
    
    # 这条命令会杀死进程信息中包含 jupyter 关键字的进程
    ps -ux | grep jupyter | grep -v grep | awk '{print $2}' | xargs kill -9
    

猜你喜欢

转载自blog.csdn.net/weixin_64316191/article/details/127944137