详细情况查看: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)之进程管理的更多相关文章

  1. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  2. Linux 源码阅读 进程管理

    Linux 源码阅读 进程管理 版本:2.6.24 1.准备知识 1.1 Linux系统中,进程是最小的调度单位: 1.2 PCB数据结构:task_struct (Location:linux-2. ...

  3. linux 的服务与进程管理(二)

    2.linux 的服务与进程管理 [2.1]系统启动流程 简单的介绍下linux的系统启动流程,方便我们深入了解linux操作系统,对排除linux系统故障进行帮助.启动流程虽然简单但背后还有着更加复 ...

  4. linux周期性计划任务 进程管理

    周期性计划任务crontab命令系统服务:/etc/init.d/crond(crond必须启动才会生效)用户计划:/var/spool/cron/用户名默认的计划任务全局配置:/etc/cronta ...

  5. Linux第九讲随笔 -进程管理 、ps aux 、

    Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...

  6. Linux快速入门教程-进程管理ipcs命令学习

    使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...

  7. 『学了就忘』Linux系统管理 — 81、进程管理介绍

    目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...

  8. Linux零起点之进程管理----c语言编程

    进程 (Process)是指操作系统中被加载到内存中的.正在运行的应用程序实例.进程是系统资源分配的基本单元,在其生命周期内会使用系统中的各种资源.进程主要由程序.数据以及进程控制快(PCB)3个部分 ...

  9. 【Linux 应用编程】进程管理 - 进程、线程和程序

    基本概念 程序和进程的区别 程序是平台相关的二进制文件,只占用磁盘空间.编写完程序代码后,编译为可执行的二进制文件即可. 进程是运行中的程序,占用 CPU.内存等系统资源. 通过 Shell 命令,可 ...

  10. linux 学习15 16 启动管理,备份和恢复

    第十五讲 启动管理 . CentOS .x 启动管理 //此处指6.3 系统运行级别 .运行级别 运行级别 含 义 关机 单用户模式,可以想象为windows的安全模式,主要用于系统修复 //linu ...

随机推荐

  1. 【概率论】3-5:边缘分布(Marginal Distribution)

    title: [概率论]3-5:边缘分布(Marginal Distribution) categories: Mathematic Probability keywords: Marginal p. ...

  2. 集合家族——stack

    一.概述 在 Java 中 Stack 类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的 它通过五个操作对类 Vector 进行了扩展 ,允许将向 ...

  3. Python中greenlet和gevent使用示例

    目录 greenlet示例 示例1,线程切换 示例2 gevent 示例1 示例2: gevent使用monkey对所有系统自带的IO操作打patch 示例3,发送请求 示例4:使用gevent的so ...

  4. python 监听键盘事件pyHook

    #coding=utf- import pyHook import pythoncom # 监听到鼠标事件调用 def onMouseEvent(event): if(event.MessageNam ...

  5. win10 下载安装tasm

    下载tasm http://www.technorange.com/wp-content/uploads/Tasm%201.4%20Windows%207-Windows%208%2064%20bit ...

  6. 2019巅峰极客CTF-web1(LOL英雄联盟)

    今晚有空 以后随缘写博客了 好好沉淀 web1当天做出的队伍很少 其实不难    折腾到最后就差一步  可惜    0x01 读取文件 截图没留了 只留了代码部分. 有个页面  有上传和下载功能 起初 ...

  7. CF1197C

    CF1197C 题意: 有一个递增的数列,把它分成k段,找到这样的分段方法,即每段最大值减最小值的和最小 解法: 分成k段,即要加k-1个隔断,这k-1个隔断,能隔开差值最大的几个,那最后得到分隔后的 ...

  8. 第11组 Beta冲刺(5/5)

    第11组 Beta冲刺(5/5)   队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/12031050.html 作业博客 https://edu. ...

  9. win系统动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

    动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数. 方法是:用 LoadLibrary 函数加载动态链接库到内存,用 Ge ...

  10. Mac下持续集成-Jenkins权限设置

    部署上后集成Jmeter玩了一晚上,后来发现账号登录不进去了,