得到进程的pid:
ps -ef | grep process_name | grep -v "grep" | awk '{print $2}'
查看进程的所有线程
# ps mp 6648 -o THREAD,tid
USER %CPU PRI SCNT WCHAN USER SYSTEM TID
root 0.0 - - - - - -
root 0.0 24 - - - - 6648
root 0.0 21 - - - - 6650
root 1.0 24 - - - - 14214
root 0.0 23 - futex_ - - 14216
root 0.0 22 - 184466 - - 15374
root 0.0 23 - 184466 - - 15376
root 0.0 23 - 184466 - - 15378
root 0.0 23 - 184466 - - 15380
root 0.0 23 - 184466 - - 15392
root 0.0 23 - 184466 - - 15394
root 0.0 23 - 184466 - - 15398
查看所有子进程:
# pstree -p 6648
agent_executor(6648)─┬─tar(15601)───gzip(15607)
├─{agent_executor}(6650)
├─{agent_executor}(14214)
├─{agent_executor}(14216)
├─{agent_executor}(15374)
├─{agent_executor}(15376)
├─{agent_executor}(15378)
├─{agent_executor}(15380)
├─{agent_executor}(15392)
├─{agent_executor}(15394)
└─{agent_executor}(15398)
查看/proc/pid/status可以看到一些进程的当前状态:
Name: bash
State: S (sleeping)
SleepAVG: 98%
Tgid: 11237
Pid: 11237
PPid: 11235
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0 1 2 3 4 6 10
VmPeak: 66260 kB
VmSize: 66228 kB
VmLck: 0 kB
VmHWM: 1684 kB
VmRSS: 1684 kB
VmData: 456 kB
VmStk: 88 kB
VmExe: 712 kB
VmLib: 1508 kB
VmPTE: 68 kB
StaBrk: 008c3000 kB
Brk: 011b1000 kB
StaStk: 7fff8b728170 kB
Threads: 1
SigQ: 1/30222
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
Cpus_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
Mems_allowed: 1
相关推荐
linux下的进程、线程
接下来,我们将详细探讨与Linux进程、线程和调度相关的知识点。 首先,Linux进程是系统分配资源的基本单位,具有独立的地址空间。进程生命周期包括就绪(ready)、运行(running)、睡眠(sleep)、停止(stopped)...
Linux 多进程多线程编程是指在 Linux 操作系统下使用 C 语言进行多进程和多线程编程的技术。该技术可以大幅度提高程序的执行效率和响应速度,提高系统的并发能力和资源利用率。 1. 创建缺省线程 在 Linux 系统下,...
在Linux和Unix操作系统中,进程和线程是两种基本的执行单元,它们是系统资源管理和任务调度的基础。本文将深入探讨这两个概念,以及它们在实际应用中的差异和交互。 一、进程 进程是操作系统中一个独立的执行实体,...
### Linux 下进程、线程与 fork 的深入理解 #### 题目背景及解析 本篇文章将基于一道经典的面试题目来探讨 Linux 下进程创建机制,特别是 `fork` 函数的工作原理。该题目不仅考验应试者对进程创建的理解,还涉及了...
### Linux进程与线程 #### 进程 在Linux系统中,进程是资源分配的基本单位,每个进程都有一个唯一的进程ID(PID)。进程具有独立的地址空间,能够执行一段程序,并拥有自己的系统资源,如内存、文件描述符等。进程...
通过阅读和分析这个源码,我们可以深入了解如何在Linux环境下利用多线程和共享内存进行进程间通信,这对于理解和实践并发编程具有很高的价值。同时,这也为我们提供了设计和实现高效、安全的并发系统的一个实例参考...
本教程“linux 进程线程小程序”将深入探讨这两个概念,以及如何利用信号量、管道和共享内存进行进程间的通信。 首先,让我们了解什么是进程。在Linux系统中,进程是程序的一次动态执行过程,它具有独立的内存空间...
在操作系统课程设计中,Linux进程与线程的通信是一个核心且复杂的主题。在这个项目中,学生将深入理解操作系统内核如何管理和协调不同进程和线程之间的数据交换,从而实现高效的任务执行。以下是对这个主题的详细...
内核线程和进程的区别主要体现在它们在Linux操作系统中的实现机制和运行方式。首先需要理解的是,在Linux系统中,线程被抽象为一种特殊的进程,称为轻量级进程(Lightweight Process, LWP)。这种机制与传统的线程...
**一、基础知识:线程和进程** 1. **进程**:是操作系统资源管理的基本单元,拥有独立的内存空间和资源,如CPU时间、内存、文件描述符等。进程间的通信通过IPC(Inter-Process Communication)进行。 2. **线程**...
本文主要讨论了Linux操作系统下多线程和多进程的性能分析。在Linux系统中,使用多进程处理多个任务,会占用很多系统资源(主要是CPU和内存的使用)。因此,Linux系统对这种弊端进行了改进,在用户态实现了多线程处理...
在Linux操作系统中,线程和进程是两个基本的执行单元,它们在系统设计中起着至关重要的作用。根据定义,进程是系统管理资源的基本单位,它拥有独立的内存空间和资源,而线程则是程序执行的最小单位,共享同一进程的...
在IT领域,Linux操作系统...此外,了解和掌握Linux进程间通信,也有助于你更好地理解和使用其他高级特性,如守护进程、线程同步等。在实际开发中,灵活运用这些通信方法可以优化系统性能,提高程序的可扩展性和可靠性。
- **Linux进程地址空间布局**:进程的地址空间通常分为多个区域,包括文本(代码)区、数据区、堆区和栈区。每个进程都有自己独立的地址空间,互不影响。 - **进程特征**:包括独立的内存空间、拥有资源、并发执行...
首先,理解进程和程序的概念是学习进程线程编程的基础。程序是存储在磁盘上的可执行文件,而进程是程序的一次执行过程,其中包含了代码段、数据段、堆和栈以及一组寄存器值。进程的运行需要基本资源如CPU、内存和...
在Linux操作系统中,进程和线程是系统执行的基本单元,它们是程序的动态表现形式。在本实训项目中,我们将探讨如何在Linux环境下通过编程实现生产者-消费者问题以及文件的读写操作,这两个主题是操作系统课程中的...
了解并熟练掌握这些概念和机制,是进行Linux进程线程编程的基础。通过深入学习提供的资料,你可以学习如何创建、管理进程和线程,以及如何有效地进行进程间通信,从而编写出高效稳定的多线程程序。在实际开发中,...
【Linux进程之如何查看进程详情】\n\n在Linux操作系统中,管理和控制进程是系统管理员的基本任务之一。要实现这一目标,首要的就是了解当前运行的进程情况,这可以通过`ps`命令来完成。`ps`命令是Linux下查看进程...
在Linux操作系统中,多线程模拟进程调度是一个深入理解操作系统内核和并发编程的重要主题。进程调度是操作系统...分析和修改提供的代码示例,尝试创建自己的调度策略,这将极大地提升对多线程和操作系统调度的理解。