Linux系列(15)之进程管理
详细情况查看:https://www.cnblogs.com/dengyungao/p/8523628.html
1.查看进程
有两个命令可以查看进程,分别是ps与top(推荐使用),那他们有什么区别
top:动态查看当前进程,显示的信息更多,并且会实时会显示各个进程对cpu利用率的变化。
1.ps指令用法
这个指令的选项太复杂,记下常用的两个就行了,如下
1.查阅自己bash的进程
ps -l //查阅自己bash的进程
如上图, 我们现在通过命令ps -l查到了关于自己bash的进程的信息,但是这些字段是什么意思呢?
2.查阅系统运行的所有进程
ps aux //查阅所有进程
上图中各个字段的意义如下:
2.top指令的用法
top指令是动态观察程序的变化,即可以持续侦测程序的运行状态。
上图中的各个字段的意义如下:
2.查看进程之间的关系
pstree指令是以树结构显示各个进程之间的关系
3.程序的管理
程序之间是可以相互控制的!举例来说,你可以关闭、重新启动服务器软件,服务器软件本身就是个程序,你既然可以让它关闭或启动,当然就是可以控制该程序啦!那么程序是如何相互管理的呢?其实是通过给予该程序一个讯号(signal),去告知该程序你想让它干嘛!因此这个讯号就很重要了。
1.kill指令
该指令只适合杀死某个单一的进程。
指令: kill -signal 进程号 //通过kill指令给进程传讯号
通过kill指令的格式可以发现,如果想要使用kill指令杀死一个进程,那么必须知道进程号。
2.killall指令
该指令适合杀死一个服务,因为该指令可以将系统当中所有以某个指令名称启动的所有进程全部杀死。
killall -signal 命令名 //给指定名
下面举两个实例:
1.关闭进程
先通过top查看当前有哪些进程在运行,之后通过kill指令或killall指令关闭进程。
格式:
kill -9 PID //根据PID进程号关闭进程
killall -9 command //根据command关闭进程,以及关闭该进程产生的所有子进程
其中command就是产生这个进程的指令或二进制文件。
2.启动进程
如何启动进程呢?由于计算机只认识二进制文件,因此开启进程通常都是执行二进制文件。也许你会说执行shell脚本也可以开启进程,其实shell脚本还是去通过执行二进制文件(指令)来启动进程的。
可执行文件分类:脚本文件(shell脚本)、二进制可执行文件。
注意:上述两种类型文件执行的前提是已经获得可执行权限X。
那如何执行二进制文件呢?这里就需要先了解环境变量PATH了。可行性文件的位置必须通过环境变量PATH可以找到才能执行,而PATH中都包含“当前目录(.表示当前目录)”,因此当你没有特地设置环境变量时,先跳转到想要执行的“可执行文件”所在目录作为当前目录,之后输入“./command”或者“./shell脚本”启动进程。因为PATH中包含当前目录,因此可以通过环境变量PATH找到你想要执行的“可执行文件”了。
启动进程格式:
./command //command是启动进程的可执行二进制文件,前提:当未设置环境变量时,当前目录必须为command所在目录。
./脚本文件名 //运行脚本文件,前提:当未设置环境变量时,当前目录必须为脚本文件所在目录。
脚本文件名 //直接在终端上输入脚本文件名就可以执行,前提:该脚本文件所在目录被设置到PATH环境变量中去了
实例:
1.第一格式的启动:根据command(未设置环境变量)
启动火狐浏览器,已知启动火狐浏览器的command是firefox-bin。
思路:通过find指令找到firefox-bin的具体位置,跳转到firefox-bin所在目录,执行“./firefox-bin”指令启动火狐浏览器。过程如下所示:
2.第二格式的启动:根据脚本文件名(未设置环境变量)
通过在custom_shell目录下创建自定义的shell脚本firefox.sh(要获得权限X),启动火狐浏览器。
firefox.sh脚本内容如下:
执行firefox.sh脚本指令如下:
3.第三格式的启动:根据脚本文件名(已设置环境变量)
在/etc/profile文件中对环境变量PATH添加了关于tomcat可执行文件所在的目录,并且在使用source /etc/profile指令重新加载文件/etc/profile是使修改过的PATH生效,最后直接调用脚本文件startup.sh启动tomcat。
Linux系列(15)之进程管理的更多相关文章
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux 源码阅读 进程管理
Linux 源码阅读 进程管理 版本:2.6.24 1.准备知识 1.1 Linux系统中,进程是最小的调度单位: 1.2 PCB数据结构:task_struct (Location:linux-2. ...
- linux 的服务与进程管理(二)
2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复 ...
- linux周期性计划任务 进程管理
周期性计划任务crontab命令系统服务:/etc/init.d/crond(crond必须启动才会生效)用户计划:/var/spool/cron/用户名默认的计划任务全局配置:/etc/cronta ...
- Linux第九讲随笔 -进程管理 、ps aux 、
Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...
- Linux快速入门教程-进程管理ipcs命令学习
使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...
- 『学了就忘』Linux系统管理 — 81、进程管理介绍
目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...
- Linux零起点之进程管理----c语言编程
进程 (Process)是指操作系统中被加载到内存中的.正在运行的应用程序实例.进程是系统资源分配的基本单元,在其生命周期内会使用系统中的各种资源.进程主要由程序.数据以及进程控制快(PCB)3个部分 ...
- 【Linux 应用编程】进程管理 - 进程、线程和程序
基本概念 程序和进程的区别 程序是平台相关的二进制文件,只占用磁盘空间.编写完程序代码后,编译为可执行的二进制文件即可. 进程是运行中的程序,占用 CPU.内存等系统资源. 通过 Shell 命令,可 ...
- linux 学习15 16 启动管理,备份和恢复
第十五讲 启动管理 . CentOS .x 启动管理 //此处指6.3 系统运行级别 .运行级别 运行级别 含 义 关机 单用户模式,可以想象为windows的安全模式,主要用于系统修复 //linu ...
随机推荐
- pxe linux 0
操作环境:windows 实验环境:vmware workstation 实验要求:配置一台workstation机器(ip地址192.168.96.100 gateway 192.168.96.2 ...
- ROS机器人开发实践学习笔记2
刚刚开始学习ROS,打算入机器人的坑了,参考教材是<ROS及其人开发实践>胡春旭编著 机械工业出版社 华章科技出品.本来以为可以按照书上的步骤一步步来,但是,too young to si ...
- docker运行puppeteer出现Page crash解决方案
Docker默认文件空间64MB.如果puppeteer运行的时候超过这个内存就出现了.Page crash.可以使用docker run --shm-size=256m指定一个更大的内存即可.
- Hearthstone AI
search keyword `machine learning hearthstone` with google I am a legend: Hacking Hearthstone with ma ...
- MISS YOU
文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论
- python3 django项目从项目中导出依赖包
1. 在项目的根目录中使用mac终端执行命令, pip3 freeze > requirements.txt #requirements.txt只是个名字可以随便起,一般默认为requireme ...
- linux下的什么工具能将DVI文件转换成PostScript文件?
答: dvips,此工具能将由Latex或Tex生成的DVI文件转换成PostScript文件,官网在此
- linux安装npm遇到权限问题 permission denied
--unsafe-per
- List的remove方法里的坑
今天遇到一件怪事,用一个ArrayList添加了一个对象,再调用ArrayList的remove方法删除该对象,当然这时对象是数据库里查出来的,但内容绝对是一样,却发现remove失败了.演示一下,这 ...
- .Netcore 2.0 Ocelot Api网关教程(7)- 限流
本文介绍Ocelot中的限流,限流允许Api网关控制一段时间内特定api的总访问次数.限流的使用非常简单,只需要添加配置即可. 1.添加限流 修改 configuration.json 配置文件,对 ...