Linux编程之进程操作


1进程相关的命令行操作

何为进程?
程序文件:helloworld
进程:当helloworld被运行后,在操作系统内创建一个进 程对象。
也就是说,进程是一个运行时的对象。而程序文件只是一 个文件。
注:helloworld可以被运行多次,每运行一次,都产生一 个进程。
注:我们通常所说的“程序”,有的时候指代码,有的是 时候指程序文件,有的时候指进程,要看上下文。

ps: 查看进程
ps命令: process snapshot
可以查看当前正在运行的进程的信息
①UID: 是谁运行的
②PID: process ID,每个进程有一个唯一的进程号
③CMD: 命令行字符串(导致进程运行的命令)
常用参数
ps ‐ef
ps ‐aux
ps ‐ef | grep helloworld(查找过滤)
top: 实时查看进程
top: 相当于windows下的任务管理器,实时查 看进程、CPU/内存占用率,并定时刷新显示
按q,退出top界面

kill 强制杀死进程
先用ps命令查到目标进程的pid,比如,10001
然后,调用命令
kill ‐9 10001
(注: kill的本意是其实是向进程发送一个信号, 其中‐9表示信号SIGKILL ,暂时记住这个用法即可)
当然,kill自己启动的进程没问题,但kill别人的 进程是要权限的。

pkill: process kill
用于查找并杀死一个进程,有些系统上没有 这个命令。
pkill ‐9 helloworld

小结:
1,进程定义
2,进程的相关命令

2前台进程与后台进程

前台进程与后台进程
前台进程:可以和用户通过终端交互(有标准输入/输 出) 后台进程:不需要和用户交互。
实际上,当在终端(会话, session)里运行 ./helloworld 时,创建一个前台进程
ps ‐ef | grep helloworld
当前session关闭时,该session里的前台进程也被关闭。

以后台方式运行:
在命令行后面加一个&,表示以后台方式运行。
./helloworld &
当进程以后台方式运行时,当前会话关闭时,该 进程会依旧运行。。。
(1) 它没法接收标准输入stdin / scanf,gets
(2) 它没法输出了stdout

ctrl + c: 用于中断退出当前的前台进程

前后台任务切换: 如果只有一个终端,则可以 把多个进程轮翻切换。但是一般没有必要, 因为我们可以开多个终端。
(1) ctrl + z 先暂停当前进程(任务)
(2) bg 将任务送到后台,继续运行
(3) fg 将任务拿到前台

一般的服务器程序都是后台方式运行的。如 ftp服务, web服务, samba服务。。。
它们的特点:
(1) 不需要stdin和stdout
(2) 进程长期运行

小结:
1,前后台的区别
2,前后台的操作

学习资源 《C语言/C++学习指南》Linux开发篇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值