Linux 列出某个进程的具体的启动目录

本文介绍了一个实用的Linux命令行技巧,通过组合使用多个命令来查询指定关键字相关的进程ID,并进一步获取该进程的确切启动路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列出某个进程的具体的启动目录


ll /proc/$(ps -ef |grep "keyword" | grep -v grep | awk '{print $2}') | grep exe |awk '{print $10}'


1.查找程序pid

2.列出proc/pid下的信息

3.过滤关键信息


例子:





### 列出 Linux 系统中的所有串口设备 在 Linux 系统中,可以通过多种方法查找和列出可用的串口设备。以下是几种常用的方法: #### 方法一:使用 `ls` 命令 最简单的办法是通过 `ls` 命令列出 `/dev/` 目录下的串口设备文件。通常情况下,默认的串口设备位于 `/dev/ttyS*` 下[^1]。 ```bash ls -l /dev/ttyS* ``` 如果系统中有 USB 转串口设备或其他外部串口适配器,它们可能会被命名为 `/dev/ttyUSB*` 或其他类似的命名方式。因此也可以尝试以下命令: ```bash ls -l /dev/ttyUSB* ``` #### 方法二:使用 `dmesg` 查看内核日志 当连接新的硬件设备时,Linux 内核会在启动或检测到新设备时记录相关信息。可以使用 `dmesg` 来查看最近的日志消息,从而确认是否有新的串口设备被识别。 ```bash dmesg | grep tty ``` 这将显示与串口相关的内核消息,帮助定位具体的设备路径[^4]。 #### 方法三:使用 Python 脚本扫描串口 Python 的 `pyserial` 库提供了一种方便的方式来枚举系统上的所有串口设备。安装该库后,可执行以下脚本来列出所有可用的串口及其详细信息[^2]。 ```python import serial.tools.list_ports ports = list(serial.tools.list_ports.comports()) for port in ports: print(f"Port Name: {port.device}, Description: {port.description}, Manufacturer: {port.manufacturer}") ``` 此脚本会输出每个串口的名称、描述以及制造商信息。 #### 方法四:检查内核模块加载情况 对于某些特定类型的串口设备(例如基于平台总线的 UART),可能需要手动加载相应的内核模块或将驱动程序绑定至设备树节点。在这种情况下,可以查阅内核源码中的探针函数定义,例如 `sw_uart_probe()` 函数用于初始化软件模拟的 UART 设备[^3]。 --- ### 后台运行串口数据读取任务 为了持续监控某个串口的数据流而不受终端关闭的影响,可以利用 `nohup` 将命令置于后台运行[^5]。例如: ```bash nohup cat /dev/ttyS0 | gawk '{print substr($1, 1, 3)}' > result.txt & ``` 上述命令会将来自 `/dev/ttyS0` 的数据截取前三个字符保存到 `result.txt` 文件中,并忽略挂起信号保持进程存活。 若需终止此类后台任务,可通过查询其 PID 并发送杀死信号完成清理工作: ```bash ps ax | grep cat kill -9 <PID> ``` 其中 `<PID>` 是目标进程的实际编号。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值