首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从命令行启动进程时如何捕获进程的PID?

在命令行中启动进程时,可以使用以下方法捕获进程的PID:

  1. 使用$!获取最后一个后台进程的PID。例如:
代码语言:txt
复制
$ my_command &
$ echo "The PID of the last background process is: $!"
  1. 使用pgreppgrep -f命令查找进程名称或命令行参数匹配的进程的PID。例如:
代码语言:txt
复制
$ pgrep my_command

或者

代码语言:txt
复制
$ pgrep -f "my_command --arg1 --arg2"
  1. 使用ps命令结合grepawk命令查找进程的PID。例如:
代码语言:txt
复制
$ ps aux | grep '[m]y_command' | awk '{print $2}'

或者

代码语言:txt
复制
$ ps aux | grep 'my_command --arg1 --arg2' | awk '{print $2}'

在这些方法中,可以根据具体的需求选择合适的方法来捕获进程的PID。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux根据进程PID查找启动程序全路径

工作环境中遇到网络不正常,检测是某服务器异常往外发送数据包,使用netstat命令查看,发现有程序.IptabLex这个进程状态为异常连接.无法有效清除,因此想知道是哪个目录此程序处于僵死状态....出问题进程状态为: [root@edu-web1 /] ps x ?...找到某进程启动路径方法是: 1.我们可以从ps命令中得到僵死进程PID,如上例中23347 2.进入/proc目录下以该PID命名目录中 3.输入ls -ail,结果中 exe链接对应就是可执行文件全路经详细信息...可以发现此连接有异常,对应应用也有问题,剩下就是想办法删除此僵尸进程对应应用程序了,一般都是冗余或垃圾程序,可rm -f 干掉…… 总结 以上所述是小编给大家介绍linux根据进程PID查找启动程序全路径...,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

9.5K31

PGwal receiver进程如何启动

备机receiver进程是由恢复进程即startup进程发启。具体如下: 1)恢复进程首先需要打开需要恢复WAL日志文件。通过函数WaitForWALToBecomeAvailable完成。...这3种日志源循环切换,直至找到一个可打开日志文件 3)备机恢复进程首先从归档目录下找需要日志文件打开。...6)流复制发启拉取起点及时间线设置: (1)读取checkpoint就需要发启流复制,此时日志位置ptr是checkpointredo位置,时间线tli是checkpoint时间线。...(2)其他场景,日志位置ptr是本地日志恢复结束位置,时间线tli是本地日志恢复完时间线。 (3)请求拉取日志位置:将ptr进行段文件对齐,也就是说从日志段文件开头进行拉取。...7)向备机主进程发送PMSIGNAL_START_WALRECEIVER信号 8)备机主进程接收到信号后,sigusr1_handler函数处理该信号。

75110

【Android 逆向】修改运行中 Android 进程内存数据 ( Android 命令行中获取要调试应用进程 PID | 进程注入调试进程内存 so 库 )

文章目录 一、Android 命令行中获取要调试应用进程 PID 二、进程注入调试进程内存 so 库 一、Android 命令行中获取要调试应用进程 PID ---- 前置博客 【Android...模拟器 , 雷电模拟器 3.75 版本 ; 在模拟器中安装要调试应用后 , 直接运行 ; 执行 dumpsys activity top|grep pid 命令 , 查看当前正在运行应用进程号...PID 为 2328 ; 二、进程注入调试进程内存 so 库 ---- 在 【Android 逆向】修改运行中 Android 进程内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝...: chmod 777 tool chmod 777 libbridge.so /data/system/debug/tool 工具有了执行权限后 , 开始向 PID 为 2328 进程注入调试动态库.../tool 2328 命令 , 即可完成 进程 注入操作 ; 如果命令行输出 hook_entry_addr = 0xa36044e0 不为空 , 是一个实际地址 , 说明调试动态库注入成功 ; 完整命令行输出

67110

Docker容器里进程 pid如何申请出来

和宿主机中申请 pid 有什么不同?内核又是如何显示容器中进程? 前面我们在《Linux进程如何创建出来?》中介绍了进程创建过程。...一、Linux 默认 pid 命名空间 前面的文章《Linux进程如何创建出来?》中我们提到了进程命名空间成员 nsproxy。...二、Linux 新 pid 命名空间创建 在这里,我们假设我们创建进程指定了 CLONE_NEWPID 要创建一个独立 pid 命名空间出来(Docker 容器就是这么干)。..., pid); ... } 2.1 创建进程构造新命名空间 在上面的 copy_process 代码中我们看到对 copy_namespaces 函数调用。...三、容器进程 pid 查看 pid 已经申请好了,那在容器中是如何查看当前层次进程呢?比如我们在容器中看到 demo-ie 进程 id 就是 1。

78310

Docker容器里进程 pid如何申请出来

Docker容器里进程 pid如何申请出来?...引言 一、Linux 默认 pid 命名空间 二、Linux 新 pid 命名空间创建 2.1 创建进程构造新命名空间 2.3 设置整数格式 pid 三、容器进程 pid 查看 四、总结 转载 -...和宿主机中申请 pid 有什么不同?内核又是如何显示容器中进程? 前面我们在《Linux进程如何创建出来?》中介绍了进程创建过程。...一、Linux 默认 pid 命名空间 前面的文章《Linux进程如何创建出来?》中我们提到了进程命名空间成员 nsproxy。...三、容器进程 pid 查看 pid 已经申请好了,那在容器中是如何查看当前层次进程呢?比如我们在容器中看到 demo-ie 进程 id 就是 1。

63820

linux 查看pid占用端口_如何通过端口号查进程

Linux查看Java进程PID、端口号和内存占用脚本 Linux查看Java进程PID、端口号和内存占用脚本 背景 查询PID 查询占用端口 查询内存占用百分比 脚本 使用 背景 正常情况下,一个jps...-ml就可以查看机器上有多少Java进程以及它们PID,如果还要看端口号,甚至内存占用,就还要配合netstat以及ps等查询,如果直接使用一个命令就能查出所有信息多好呀,那就试试吧。...查询PID Java自带jps就很好用,不多说。...查询占用端口 使用netstat工具,根据Java进程PID查询这个PID占用端口,一定是状态为LISTEN,并且PID/NAME = PID/java记录。...查询内存占用百分比 感觉机器很卡,free一下发现内存没了,看看哪个java占用内存偏高,可以使用ps -e -o 'pid,pmem'查询PID内存占用百分比。

19.9K50

eBPF 入门开发实践教程四:在 eBPF 中捕获进程打开文件系统调用集合,使用全局变量过滤进程 pid

本文是 eBPF 入门开发实践教程第四篇,主要介绍如何捕获进程打开文件系统调用集合,并使用全局变量在 eBPF 中过滤进程 pid。...通过捕获 sys_openat 系统调用,我们可以了解进程在什么时候以及如何打开文件。...选项来指定要捕获进程 pid,例如:$ sudo ....在 eBPF 程序中,我们还可以通过定义一个全局变量 pid_target 来指定要捕获进程 pid,从而过滤输出,只输出指定进程信息。...通过学习本教程,您应该对如何在 eBPF 中捕获和过滤特定进程系统调用有了更深入了解。这种方法在系统监控、性能分析和安全审计等场景中具有广泛应用。

46310

分别查找主机占用CPU和占用内存最大进程,要求能查出进程PID启动目录,启动命令,占用文件描述符数量,占用端口

由于系统信息,如进程,是动态改变,所以用户或应用程序读取proc文件,proc文件系统是动态从系统内核读出所需信息并提交。...子文件或子文件夹 /proc/buddyinfo 每个内存区中每个order有多少块可用,和内存碎片问题有关 /proc/cmdline 启动传递给kernel参数信息 /proc/cmdline...启动传递给kernel参数信息 /proc/crypto 内核使用所有已安装加密密码及细节 /proc/devices 已经加载设备并分类 /proc/dma 已注册使用ISA DMA频道列表...目录中进程N信息 /proc/N pid为N进程信息 /proc/N/cmdline 进程启动命令 /proc/N/cwd 链接到进程当前工作目录 /proc/N/environ 进程环境变量列表...更具可读性 /proc/self 链接到当前正在运行进程 实例 分别查找当前主机占用CPU和占用内存最大进程,要求能查出进程PID启动目录,启动命令,占用文件描述符数量,占用端口等。

1.4K40

当被监测进程异常退出后,如何启动 - WGCLOUD

WGCLOUD可以监测我们主机服务器上运行各种业务进程,系统进程当我们进程异常退出或停止后,WGCLODU监控平台会发出通知告警,如下图片 那么我们如何进程退出后,怎么启动进程呢?...以下三种方式均为WGCLOUD提供功能1、如果是Linux监控主机,我们可以使用web ssh,连接到我们主机,启动已下线进程图片2、也可以通过【下发指令】模块来启动进程,这个可以选中多个主机,批量执行下发指令图片...3、可以通过【自定义监控项】来实现,具体说明如下链接我们可以写一个shell脚本,具体逻辑为当发现进程退出时候,启动进程即可自定义监控项,WGCLOUD监控平台agent会定期执行shell指令自定义监控项使用说明

1.5K30

如何在Linux下快速找到Java进程启动JAR文件

如何在Linux下快速找到Java进程启动JAR文件在线上环境中,当CPU占用率异常高,经常需要定位到是哪个Java进程导致,并进一步找到该进程启动JAR文件。...查看进程启动目录:/proc/[PID]/cwd 是一个指向进程当前工作目录符号链接。这通常是JAR文件所在目录,但JAR文件完整路径和名称不会直接给出。...方法二:使用jps命令jps(Java Virtual Machine Process Status Tool)是JDK提供一个命令行工具,它可以列出所有正在运行Java进程,并显示它们PID以及启动...结合-a选项,pgrep还可以打印出完整令行参数。使用pgrep -a java命令可以列出所有包含java关键字进程及其完整令行参数。...jps命令直接列出了Java进程PID启动JAR文件或类名,非常方便。pgrep命令可以列出包含java关键字进程及其完整命令行参数,通常也包含JAR文件路径。

2110

Windows中杀死占用某个端口进程

最近在写Java web项目的时候,总是会出现Tomcat端口被占用问题,这是因为Tomcat8080端口在启动之后代码缺陷忘记停止进程,导致后面想再次启动可能会出现端口被占用bug,那么怎么去解决这一...第一步,打开cmd命令窗口,输入命令,根据端口号查找对应进程号 netstat -ano | findstr 80 //列出进程极其占用端口,且包含 80 发现 8080 端口被 PID(进程号)为...9268 进程占用。...第二步, 据进程号寻找进程名称 tasklist | findstr 9268 根据进程号从任务管理器中查找该程序,手动杀死即可。 但是我发现,在任务管理器中找不到该程序。...只好从命令行杀死该程序了,命令如下: taskkill -PID -F //强制关闭某个进程 这样就把占用8080端口进程给干掉了

28320

eBPF 入门开发实践教程五:在 eBPF 中使用 uprobe 捕获 bash readline 函数调用

本文是 eBPF 入门开发实践教程第五篇,主要介绍如何使用 uprobe 捕获 bash readline 函数调用。...uprobe基于文件,当一个二进制文件中一个函数被跟踪,所有使用到这个文件进程都会被插桩,包括那些尚未启动进程,这样就可以在全系统范围内跟踪系统调用。...例如,我们可以使用 uprobe 来捕获 bash readline 函数调用,从而获取用户在 bash 中输入令行。...在 printret 函数中,我们首先获取了调用 readline 函数进程进程名称和进程 ID,然后通过 bpf_probe_read_user_str 函数读取了用户输入令行字符串,最后通过...bpf_printk 函数打印出进程 ID、进程名称和输入令行字符串。

30920

eBPF 入门开发实践指南五:在 eBPF 中使用 uprobe 捕获 bash readline 函数调用

本文是 eBPF 入门开发实践指南第五篇,主要介绍如何使用 uprobe 捕获 bash readline 函数调用。...uprobe基于文件,当一个二进制文件中一个函数被跟踪,所有使用到这个文件进程都会被插桩,包括那些尚未启动进程,这样就可以在全系统范围内跟踪系统调用。...在 printret 函数中,我们首先获取了调用 readline 函数进程进程名称和进程 ID,然后通过 bpf_probe_read_user_str 函数读取了用户输入令行字符串,最后通过...bpf_printk 函数打印出进程 ID、进程名称和输入令行字符串。...可以看到,我们成功捕获了 bash readline 函数调用,并获取了用户在 bash 中输入令行

80710

CreateProcess 创建带命令行参数进程,报错或者提示内存位置无效可能一个原因

可能一个原因:命令行参数使用了常量。...notepad",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi); 解释: pszApplicationName和pszCommandLine分别表示进程使用可执行文件名和向其传递令行字符串...这一点是非常重要,因为如果你向CreateProcess传递令行字符串位于进程只读存储区,就会发生Access Violation错误。...微软在其C++编译器选项中提供了/GF开关,/GF打开,程序中所有用到常量字符串将只维护单一副本,且位于只读存储部分。在调用 CreateProcess,开发人员应该打开/GF开关并使用缓冲区。...,调用CreateProcess来调用cmd.exe,我程序没报错,但是系统却报cmd.exe应用程序错误(无法正常启动0xc0000142)。

2.2K50

Python创建daemon

(daemon成为了init进程进程)       --假设daemon是从命令行启动,父进程终止会被shell发现,之后shell会显示出另一个shell提示符并让子进程在后台运行;     -...-子进程被确保不会成为一个进程进程(它从父进程继承了进程组ID,并拥有了自己唯一进程ID,该进程ID与继承来进程组ID是不同,这样才能成功执行下面一个步骤)     2、子进程调用setsid...创建文件和目录拥有必要权限)     5、修改进程当前工作目录(通常改为根目录 /,保证根目录文件系统不会被卸载即可,如:cron会将自身放在/var/spool/cron 目录下)     6、...关闭daemon从父进程继承而来所有打开着文件描述符(由于daemon失去了控制终端,对0,1,2描述符完全可以关闭;无法卸载长时间运行daemon打开文件所在文件系统----文件描述符是一种有限资源...)     7、关闭0,1,2文件描述符后,daemon通常会打开/dev/null,并让所有描述符都指向该设备     --这样确保了当daemon调用在这些文件描述符上执行IO库函数不会出乎意料失败

75110

0x2 Python教程:反向Shell

这篇文章将演示如何利用Python创建反向shell。首先,我们将展示如何利用Web服务器功能将文件从一个主机移动到另一个主机。...您可以使用开关“-m”直接从命令行调用模块。...您可以将python shell放在启动Python HTTP服务器同一目录中,并且远程客户端应该可以访问它。以下是您可能希望如何利用wget示例。...上面的代码基于我们在教程0x1中介绍概念,但除了建立套接字连接之外,我们现在正在使用子进程模块执行命令。子进程模块非常方便,因为它允许您将STDOUT / STDERR从命令重定向到变量。...下面是一个监听器,用于捕获反向shell并正确解码/编码输入/输出,因此我们可以在终端上看到明文,但数据包内容是XOR编码。 ? 这是一个非常有趣Python用例,因为每个人都喜欢shell!

1K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券