当前位置: 首页 > news >正文

秒懂:进程相关的操作

 1.进程的查看

1.1创建test.cc文件,运行以下代码

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>int main()
{while(1){sleep(1);}
return 0;}

1.2 执行以下命令

1. 运行test.cc文件 并将其最终的可执行文件命名为 test

gcc test.cc -o test

1.21. 查看进程

常见的 ps 命令用法包括:

  • ps:显示当前用户的正在运行的进程。
  • ps -ajx :ps -ajx 是一个常用的 Unix/Linux 命令,用于显示当前系统中所有进程的详细信息,并以完整的格式输出
  • ps -ajx | grep process_name:查找特定进程名的进程
 ps axj | head -1 && ps axj | grep test | grep -v grep

1.22查看结果展示:

 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
23491 25318 25318 23491 pts/0    25318 S+    1000   0:00 ./test

2 进程属性的查看:

2.1创建test.cc文件,运行以下代码

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>int main()
{int ret = fork();if(ret < 0){perror("fork");return 1;}else if(ret == 0){ //childprintf("I am child : %d!, ret: %d\n", getpid(), ret);}else{ //fatherprintf("I am father : %d!, ret: %d\n", getpid(), ret);}sleep(1);return 0;
}

getgid() 函数是一个系统调用,用于获取调用进程的有效组 ID(Group ID)。在 Linux 中,每个进程都属于一个或多个组,getgid() 函数返回调用进程的有效组 ID。

其函数原型定义在 <unistd.h> 头文件中:

#include <unistd.h>gid_t getgid(void);

其中,gid_t 是一个类型,通常是一个无符号整数类型,用于表示组 ID。

2.2 通过 /proc 系统文件夹看进程


在Linux系统中,/proc文件系统提供了关于运行中进程的详细信息。你可以通过查看/proc文件系统中的特定目录和文件来获取有关进程的信息。下面是一些你可以在/proc文件系统中找到的有关进程的信息:

1.proc/[PID]:这是一个以进程ID(PID)命名的目录,其中包含有关特定进程的详细信息。你可以使用命令 ls /proc/[PID] 来查看。

2.proc/[PID]/status:此文件包含有关进程的各种状态信息,例如进程ID、父进程ID、进程状态、内存使用情况等。你可以使用命令 cat /proc/[PID]/status 查看。

3.proc/[PID]/cmdline:此文件包含启动进程时使用的完整命令行参数。你可以使用命令 cat /proc/[PID]/cmdline 查看。

4.proc/[PID]/exe:这是一个符号链接,指向正在运行的进程的可执行文件。你可以使用命令 ls -l /proc/[PID]/exe 查看。

5.proc/[PID]/fd:这是一个目录,包含有关进程打开的所有文件描述符的信息。你可以使用命令 ls /proc/[PID]/fd 查看。
 

2.3 执行以下命令

2.31. 运行test.cc文件 并将其最终的可执行文件命名为 test

gcc test.cc -o test

2.32.运行结果:

2.33. 查看进程

 ps axj | head -1 && ps axj | grep test | grep -v grep

2.34.查看结果展示:

http://www.lryc.cn/news/433492.html

相关文章:

  • PDF 软件如何帮助您编辑、转换和保护文件。
  • 蓝桥杯嵌入式国三备赛经验分享
  • AI编程工具合集
  • [网络编程]通过java用TCP实现网络编程
  • Python(TensorFlow)和Java及C++受激发射损耗导图
  • IEEE投稿模板翻译
  • log4j 1.x 日志输出线程以唯一ID的形式配置
  • 宏观学习笔记:GDP分析(二)
  • 两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容
  • C高级编程 第十六天(树 二叉树)
  • OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用
  • 904.水果成篮
  • 【网络安全】漏洞挖掘之 2FA 恢复代码安全措施不当
  • 指令微调与参数微调的代码实践与分析
  • Android14音频进阶之高通Elite架构指定通道播放(八十四)
  • 常见的正则化方法以及L1,L2正则化的简单描述
  • 深入理解 Milvus:新一代向量数据库的基础技术与实战指南
  • Maven教程——从入门到入坑
  • 研究生深度学习入门的十天学习计划------第九天
  • perl的学习记录——仿真regression
  • 【Go】go连接clickhouse使用TCP协议
  • Emlog-Pro访问网站时需要密码验证插件
  • Apache ShardingSphere数据分片弹性伸缩加解密中间件
  • Django+Vue家居全屋定制系统的设计与实现
  • 如何把自动获取的ip地址固定
  • Java应用的数据库死锁问题分析与解决
  • ImportError: cannot import name ‘DglNodePropPredDataset‘ from ‘ogb.nodepropp
  • 基于SSM(Spring、SpringMVC、MyBatis)框架的高校信息管理系统
  • C++第一节入门
  • 全能型 AI 的崛起:未来的市场宠儿还是昙花一现?