相关疑难解决方法(0)

如何在我当前的 bash 会话中列出打开的文件描述符(以及它们引用的文件)

我正在交互式 bash 会话中运行。我已经使用 exec 创建了一些文件描述符,我想列出我的 bash 会话的当前状态。

有没有办法列出当前打开的文件描述符?

linux bash file-descriptors open-files

50
推荐指数
4
解决办法
12万
查看次数

哪些(Bash)shell 特殊参数/变量是?

我在 Bash 中发现了一些以$符号开头的特殊参数。例如:当我徘徊退出状态我知道$?,进程ID由 $$等

所以,我分享 这篇文章是为了了解哪些是特殊的 bash(shell)参数及其用法。

shell bash parameter

12
推荐指数
1
解决办法
5402
查看次数

通过脚本名称搜索正在运行的脚本PID

我有以下脚本

hello.sh
--------
while :
do
    echo "hello"
    sleep 20
done
Run Code Online (Sandbox Code Playgroud)

当我运行上面的脚本时,我得到了 2627 作为脚本的 PID

root@localhost ~]# ./hello.sh &
[1] 2627
[root@localhost ~]#
Run Code Online (Sandbox Code Playgroud)

现在,当我在另一个终端中运行 ps 命令时,我没有在输出中获取脚本名称

[root@localhost ~]# ps -ef| grep 262[7]
root      2627  1582  0 19:19 pts/1    00:00:00 -bash
root      3427  2627  0 19:52 pts/1    00:00:00 sleep 20
[root@localhost ~]#
Run Code Online (Sandbox Code Playgroud)

$$ 是我运行脚本的主 shell 的 PID。我知道在脚本中我可以输入 $$ 来获取脚本的 PID,但这不是我的意图。

一旦我在后台运行了长时间运行的脚本,并且假设我意外关闭了终端,那么有没有办法使用脚本名称或任何其他方式来 grep PID?

供参考

[root@localhost ~]# echo $$
2586
[root@localhost ~]# ps -ef| grep 262[7]
root      2627  1582  0 19:19 pts/1 …
Run Code Online (Sandbox Code Playgroud)

ps shell-script

0
推荐指数
1
解决办法
2582
查看次数