嘿,朋友们!你是不是刚拿到了云服务器,心里那个美滋滋,准备大干一场,结果被“查看进程”这件小事卡壳?别急,今天咱们就来聊聊如何优雅地查看云服务器上的进程,让你瞬间变成“终端界的老司机”!
好了,废话不多说,先上正经操作。
一、用top命令,一条命令看全局
Linux服务器的“万能钥匙”top,直接在终端敲下“top”,黑底白字的界面就跑出来了。它能实时显示所有运行中的进程信息,CPU占用率、内存使用、运行时间,甚至还能看到哪个程序“吃了你的带宽”。
视觉盛宴让你爽到飞起,但别被它的信息量吓到,重点看那“%CPU”和“%MEM”两栏,谁高谁就是“吃鸡”的王者!按“P”键还能按CPU排序,按“M”键按内存排序,简直贴心到家。
二、ps命令,细节控的利器
如果你觉得top太像个疯狂打印机,想要静态一点的“快照”,那“ps”命令大块儿来帮忙。一般用法是:
ps aux | grep 进程名
比如,你想看看nginx,它是你网站的“幕后高手”,输入:
ps aux | grep nginx
立刻告诉你nginx跑哪儿去了,有几个“战友”在干活,连它们的PID(进程编号)都摆在你面前。有了PID,你还能继续搞定“杀手锏”命令,干掉那个不给力的进程。
三、htop,慢慢调戏它
觉得top视觉有点单调?“htop”来了,花里胡哨但不复杂!它是top的“颜值担当”,需要先安装(Ubuntu下可以用sudo apt install htop),然后运行htop,进程信息呈现得井井有条,还能用鼠标操作,选中进程直接杀掉,方便极了。
不过,这工具咱们也别装得太熟,服务器上装“花俏”的东西不一定合适,怕卡顿就靠它偶尔娱乐一下。
四、netstat,通过端口找进程
有时候你需要知道,哪个进程在占用端口,搞不好是服务器黑客入侵的“小尾巴”。用这个命令:
netstat -tunlp
再配合grep就能找到进程对应的PID:
netstat -tunlp | grep 80
(给服务器上的网站端口“开会”用的)。别告诉我你没想过怀疑过,那些不明端口的幕后黑手。
五、lsof,看谁打开了文件
“lsof”是“list open files”的缩写,帮你查查哪个进程把日志文件、连接文件给“霸占”了。输入:
lsof -i :端口号
能帮你做到“有图有真相”,服务器上那些卡顿、死机,很大可能跟打开文件的太多有关。
对了,有兴趣的小伙伴,可以试试lsof +D 路径,看看某个目录里哪些文件被进程用着。
这不禁让我想起来,网络上流传的那段段子:“程序员问进程:你咋这么卡?”进程淡定回:“抱歉,我最近忙着开会,文件堆积如山!”
小彩蛋:玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink(偷偷告诉你,工作之余搞点副业,钱包才不会空空如也)
六、使用systemctl和service查看服务状态
很多时候你关心的其实是运行在后台的服务,比如nginx、mysql这些“豪华套餐”,这时候systemctl status 服务名或service 服务名 status命令就派上用场了。
它告诉你服务活没活,死了你还能方便地重启继续撸代码。
七、top看到进程太多?试试pidof找进程PID
如果你只想找到某个程序的进程号,比如nginx,直接用:
pidof nginx
一次性快速甩出所有进程号,省得你眼花缭乱。要杀进程直接结合kill命令,马上解决燃眉之急。
八、注意别用过时的命令
好多老铁用killall直接杀死程序,有时候会把你不想杀的兄弟一起带走,记得要用kill PID精确打击,毕竟放过那个“好基友”,胜过捅了自己的“马蜂窝”。
另外,记得用ps -ef它能给你详细的进程树,有了它,你就有了“电视剧全集”里的全套剧照,能看到谁是谁家的“老大”,家族成员是谁。
哎呀,这下是不是感觉自己离开“黑窗口”大咖的路不远了?最后,提个脑筋急转弯给大家:服务器上跑着100个进程,哪个是最懒的?答案:睡眠进程(sleep)啦,因为它啥活都不干,只会闭眼照命令!