shell脚本获取自己的pid
时间: 2023-09-03 19:09:21 浏览: 37
你可以使用 shell 命令 `echo $$` 来获取当前 shell 进程的 PID。在 shell 脚本中,可以使用 `$$` 变量获取该 shell 进程的 PID。例如:
```shell
#!/bin/bash
echo "My PID is $$"
```
当你运行该脚本时,它会输出类似于以下内容的 PID:
```
My PID is 1234
```
其中,1234 是当前 shell 进程的 PID。
相关问题
shell 脚本获取程序pid
在 shell 脚本中,可以使用 `pgrep` 命令来获取指定进程的 PID。例如,如果要获取名为 `myapp` 的进程的 PID,可以运行以下命令:
```
pid=$(pgrep myapp)
```
这将把 `myapp` 进程的 PID 存储在变量 `pid` 中。如果有多个与指定名称匹配的进程,`pgrep` 将返回它们所有的 PID,每个 PID 一行。
如果要检查进程是否正在运行,可以使用 `ps` 命令来获取进程列表,并使用 `grep` 过滤指定进程。例如,下面的命令将检查名为 `myapp` 的进程是否正在运行:
```
if ps aux | grep -q myapp; then
echo "myapp is running"
else
echo "myapp is not running"
fi
```
这个命令将会输出 `myapp is running` 如果 `myapp` 进程正在运行,否则输出 `myapp is not running`。
用shell脚本获取
你可以使用$$来获取当前shell的PID,如果你想获取子shell的PID,可以将子shell命令放在小括号中,并在小括号后面加上&,然后使用$!来获取子shell的PID。具体实现可以参考以下示例:
```shell
#!/bin/bash
# 获取当前shell的PID
echo "当前shell的PID为: $$"
# 获取子shell的PID
(
sleep 10 &
echo "子shell的PID为: $!"
wait
)
```
输出:
```
当前shell的PID为: 1234
子shell的PID为: 5678
```