当前位置: 首页 > 面试题库 >

如何检查ssh-agent是否已在bash中运行?

岳奇逸
2023-03-14
问题内容

sh在Linux环境中有一个示例脚本,该脚本基本上ssh-agent针对当前shell运行,向其添加密钥并运行两个git命令:

#!/bin/bash
eval "$(ssh-agent -s)"
ssh-add /home/duvdevan/.ssh/id_rsa

git -C /var/www/duvdevan/ reset --hard origin/master
git -C /var/www/duvdevan/ pull origin master

脚本实际上可以正常工作,但是每次运行脚本时,我都会得到一个新进程,因此我认为这可能会成为性能问题,并且最终可能会导致无用的进程。

输出示例:

Agent pid 12109
Identity added: /home/duvdevan/.ssh/custom_rsa (rsa w/o comment)

此外,还有所有这些,是否有可能找到一个现有ssh-agent进程并将我的密钥添加到其中?


问题答案:

到目前为止,答案似乎并未回答原始问题…

这对我有用:

if ps -p $SSH_AGENT_PID > /dev/null
then
   echo "ssh-agent is already running"
   # Do something knowing the pid exists, i.e. the process with $PID is running
else
eval `ssh-agent -s`
fi


 类似资料:
  • 问题内容: 我在我的项目中使用JobService。运行良好。但有时服务停止了。它不会再次重新启动。因此,如果没有运行,我将尝试分层JobService。但是我不知道如何检查JobService是否已经运行。请让我知道如何检查JobService是否正在运行。 我的工作服务课程: 我的实用程序类: 开始: 停止: 问题答案: 我找到了解决方案。 使用此方法,我们可以检查jobService是否正在

  • 问题内容: 我试图用bash编写脚本来检查用户输入的有效性。 我想将输入(例如变量)与有效值列表进行匹配。 我目前想出的是: 我的问题是,是否有更简单的方法可以做到这一点, 就像大多数编程语言一样。 另外: 说的清单是: 我的代码将仅针对那些值回显该消息,因为将其视为数组而不是字符串,所有字符串操作都将验证,而我希望它失败。 问题答案: 或创建一个函数: 使用它:

  • 问题内容: 我想检查linux bash文件是否已创建超过x次。 假设文件名为text.txt,时间为2个小时。 问题答案: 仅用于修改时间 或者,同一行: 您可以使用更改或访问时间。正如其他人指出的那样,我认为您无法跟踪创建时间。

  • 使用git for windows(git-scm.com)和脚本,我可以让Bash停止询问密码,但我似乎无法从git GUI中删除密码提示。 远程的url使用ssh链接(见下文),所以我很确定这不是问题所在。但我不是git和SSH方面的专家。。 SSH密钥(ED25519)已使用提供的密码短语创建,并且公钥已添加到托管帐户。SSH密钥存储在典型的位置

  • 问题内容: 我正在尝试创建一个bash实用程序脚本以检查我的服务器中是否正在运行docker守护进程。除了运行这样的代码之外,还有没有更好的方法来检查docker守护进程是否正在我的服务器中运行? 我想创建一个bash shell脚本,该脚本将检查我的docker守护程序是否正在运行。如果它正在运行,则什么也不做,如果没有,则启动docker守护程序。 我的伪代码是这样的。我正在考虑解析ps -e

  • 问题内容: 我正在使用线程和队列模块在Python中编写一个简单的搜寻器。我获取一个页面,检查链接并将它们放入队列中,当某个线程完成页面处理后,它将从队列中获取下一个页面。我对已经访问过的页面使用数组,以过滤添加到队列的链接,但是如果有多个线程并且它们在不同页面上获得相同的链接,则会将重复的链接放入队列。那么,如何确定队列中是否已经有一些url以避免再次放置? 问题答案: 如果您不关心项目的处理顺