WSL Ubuntu 不断循环 Agend pid #,直到我在启动或登录时按下 cntrl c

WSL Ubuntu 不断循环 Agend pid #,直到我在启动或登录时按下 cntrl c

我有一个 ubuntu 安装,它正在为我的公司运行一些软件,并且我在 .bashrc 文件中添加了一些路径。当我使用 启动 WSL 时wsl -b ubuntu,它会打印出这些内容,并一直打印下去,直到我按下 control-c。

Agent pid 549
Agent pid 556
Agent pid 563
Agent pid 570
Agent pid 577
Agent pid 584

这是我添加的行

export PATH=$PATH:/usr/local/go/bin && source $HOME/.profile

我是否需要添加其他内容或 kill 语句?

答案1

&& source $HOME/.profile从添加的行中删除。

现在,它会重新加载您的 .profile,而 .profile 显然会在再次重新加载(sourced)之前启动代理程序。

答案2

如果您~/.profile基于默认的 Ubuntu(从/etc/skel帐户创建时的目录复制),那么您会注意到它包含以下几行:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

换句话说,当它检测到您正在运行 bash shell 时,~/.profile就会获取来源~/.bashrc。目的是使登录 shell 的行为尽可能类似于交互式非登录 shell。

因此如果你源,最终会陷入一个无限循环,其中一个文件重复地引用另一个文件~/.profile~/.bashrc

相关内容