Linux 如何快速找到运行中的进程
1 进程概述
通俗的讲程序是一个包含可以执行代码的静态的文件。进程是一个开始执行但是还没有结束的程序的实例。
当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程序变成进程以供系统调用。
1.1 进程的分类
按照进程的功能和运行的程序分类,进程可划分为两大类:
系统进程
可以执行内存资源分配和进程切换等管理工作,而且该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。
用户进程
通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。
针对用户进程,又可以分为如下3类:
交互进程:由一个Shell终端其他的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行于后台。
批处理进程:该进程是一个进程集合,负责按顺序启动其他的进程。
守护进程:守护进程是一直运行的一种进程,经常在Linux系统时启动,在系统关闭时终止。它们独立于控制终端且周期性地质学某种任务或等待处理某些发生的时间。例,httpd进程,crond进程等。
下面看下Linux 如何快速找到运行中的进程,具体内容如下所述:
日常运维过程中,如果遇到我们不熟悉的环境,如何以最快的速度查找到进程的目录在哪里,特别是有多个版本的软件,可以使用这个方法
如截图,运行的nginx 进程,乍看一下,根本不知道nginx 具体在哪个目录
如何第一时间找到对应进程的具体位置呢,上图nginx pid(进程号) 是11281
我们使用 命令 ls -l /proc/11281/exe
就能显示进程具体位置 如下截图
以上所述是小编给大家介绍的Linux 如何快速找到运行中的进程的相关知识,希望对大家有所帮助!
相关推荐
-
详解linux后台运行和关闭、查看后台任务
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态. 三.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated.但是如
-
Linux后台运行Python程序的几种方法讲解
1.第一种方法是直接用unhup命令来让程序在后台运行,命令格式如下: unhup python 文件名.py (> ***.log )& 在这个命令中,python指定我们要执行的文件为python文件,后面的文件名.py即是我们要执行的文件.括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这个是可选的,如果没有这个,则会默认输出到nohup.out文件中.括号后面你的&表示后台运行. 2.第二种方法是写一个脚本,然后把脚本提交给服务器,让服务器在后台运行脚
-
在Linux中查看及终止正在运行的后台程序方法
linux 任务管理-后台运行与终止 fg.bg.jobs.&.ctrl + z命令 一. & 加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行 三.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境
-
Linux 如何快速找到运行中的进程
1 进程概述 通俗的讲程序是一个包含可以执行代码的静态的文件.进程是一个开始执行但是还没有结束的程序的实例. 当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程序变成进程以供系统调用. 1.1 进程的分类 按照进程的功能和运行的程序分类,进程可划分为两大类: 系统进程 可以执行内存资源分配和进程切换等管理工作,而且该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行. 用户进程 通过执行用户程序.应用程序或内核之外的系统程序而
-
linux下快速列出局域网中所有主机名(计算机名)的脚本
最近有列出局域网中所有主机名的需求(SMB协议里的),但是findsmb命令总是列不全,搜了搜网上也没什么现成的解决方案,于是自己写了个python脚本 脚本会扫描局域网arp表中所有ip,并尝试解析其主机名,这样可以较为彻底地列出相关信息. 注意,运行这个脚本需要samba-common-bin和arp-scan这两个包,没有的请先apt install它们. 用法:直接运行或用python3运行,然后输入需要扫描的网卡名(network interface)(不知道的运行ifconfig可查
-
区分python中的进程与线程
今天整理的文章是给大家梳理Python的进程与线程的区别,没什么代码,希望大家能清楚知道他们的区别,什么情况用线程,什么情况用进程做到心中有数,希望大家能熟练掌握. 进程的基本概念 概念 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需要使用的资源:进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标
-
linux下c语言中隐藏进程命令行参数(例如输入密码等高危操作)
前言 启动程序很多时候用命令行参数可以很方便,做到简化一些配置,但是输入用户名密码等操作,如果通过进程查看工具直接看到密码就太不安全了. 因此很有必要研究如何隐藏命令行参数中的某些字段,当然做成配置文件也是极好的,但是无疑给运行程序增加额外操作.编辑保存配置文件也会费点事. 我结合网上找到的一些方案,以及自己总结一个方案,记下笔记. 复写argv参数 该方案只在Linux下的C语言中验证成功,因为window下都是win32api获取命令行参数,但是没有设置这个,估计window不支持这种骚操作
-
Linux中僵尸进程和孤儿进程详解
本文主要给大家介绍了关于Linux中僵尸进程和孤儿进程的相关内容,分享给出来供大家参考学习,下面来看看详细的介绍: 1.僵尸进程 一个子进程在其父进程没有调用wait()或waitpid()的情况下退出,这个子进程就是僵尸进程.如果其父进程还存在而一直不调用wait,则该僵尸进程将无法回收,等到其父进程退出后该进程将被init回收. 运行结果 2.孤儿进程 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程
-
使用C语言的fork()函数在Linux中创建进程的实例讲解
在Linux中创建一个新进程的唯一方法是使用fork()函数.fork()函数是Linux中一个非常重要的函数,和以往遇到的函数有一些区别,因为fork()函数看起来执行一次却返回两个值. fork()函数用于从已存在的进程中创建一个新进程.新进程称为子进程,而园进程称为父进程.使用fork()函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程的上下文.代码段.进程堆栈.内存信息.打开的文件描述符.符号控制设定.进程优先级.进程组号.当前工作目录.根目录.资源限
-
分析运行中的 Python 进程详细解析
在 Java 中打印当前线程的方法栈,可以用 kill -3 命令向 JVM 发送一个 OS 信号,JVM 捕捉以后会自动 dump 出来:当然,也可以直接使用 jstack 工具完成,这些方法好几年前我在这篇性能分析的文章 中介绍过.这样的需求可以说很常见,比如定位死锁,定位一个不工作的线程到底卡在哪里,或者定位为什么 CPU 居高不下等等问题. 现在工作中我用的是 Python,需要线上问题定位的缘故,也有了类似的需求--想要知道当前的 Python 进程"在干什么".但是没有了
-
Linux中的进程守护supervisor安装配置及使用
supervisor是一个很好的守护程序管理工具,配置方面自动启动,日志输出,自动切割日志等等一系列强大功能,下面是在CentOS下安装使用supervisor的记录. 安装 # epel源 yum install epel-release # 安装supervisor yum install -y supervisor # 开机自启动 systemctl enable supervisord # 启动supervisord服务 systemctl start supervisord Bash
-
Android进程运行中权限被收回导致关闭的问题解决
流程如图: MainActivity 跳转至 MainActivity2 再跳转至 MainActivity3MainActivity3 跳转至 设置,收回权限 一路返回 运行log如下 // 一路跳转,打开设置,收回权限 com.miss.soullink E/MainActivity: == onCreate == 25149 com.miss.soullink E/MainActivity: == onCreate == savedInstanceState null com.miss.s
-
Linux Shell中判断进程是否存在的代码
1 利用pgrep 匹配名字 复制代码 代码如下: if test $( pgrep -f $1 | wc -l ) -eq 0 then echo "进程不存在" else echo "存在进程" fi 以下是补充内容: 当前系统中的进程: apple@ubuntu:~$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 13:57 ? 00:00:02 /sbin/init root 2 0 0 13:57
随机推荐
- Angularjs中UI Router的使用方法
- Vmware+Centos7搭建Openstack环境(网络配置)
- Flex 实现可以拖动的毛玻璃效果
- PHP Squid中可缓存的动态网页设计
- PHP学习笔记(二):变量详解
- ThinkPHP验证码和分页实例教程
- php控制文件下载速度的方法
- MySQL binlog 远程备份方法详解
- 重置MySQL数据库root密码(linux/windows)
- 从一个不错的留言本弄的mysql数据库操作类
- jsp 页面上图片分行输出小技巧
- 批处理实例代码教程 集合
- js+html制作简单验证码
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- mysql 远程连接数据库的方法集合
- jQuery Datatable 多个查询条件自定义提交事件(推荐)
- CS 1.5 键盘基本操作快捷键
- 利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
- Java 同步锁(synchronized)详解及实例
- Java 线程池原理深入分析