gpt4 book ai didi

linux - 如何获取从 Bash 中的 eval 启动的进程的 PID?

转载 作者:太空狗 更新时间:2023-10-29 12:24:59 25 4
gpt4 key购买 nike

在 bash 脚本中做这样的事情时:

#!/bin/bash
ls & echo $!

ls 的 pid 将打印到控制台。但是当我把它改成这样时:

#!/bin/bash
command="ls & echo $!"
eval "$command"

它将不再起作用。为什么会这样,是否有解决方法?

最佳答案

eval 命令结束时在后台运行命令:

#!/bin/bash

cmd="ls > /dev/null &"
eval "$cmd"
eval_pid=$!
bash_pid=$$

echo bash_pid: ${bash_pid}, eval_pid: ${eval_pid}

输出:

bash_pid: 25926, eval_pid: 25927 

获取eval启动的进程的pid。

关于linux - 如何获取从 Bash 中的 eval 启动的进程的 PID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44736532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com