我无法知道某个程序是否在后台运行。
该程序通过命令行运行,但计算机只是一个服务器(如果术语不正确,请原谅),我们使用我们自己的计算机的命令行来访问它。在这种情况下,我使用我的 Mac 终端来运行该程序,这可能需要 20 小时左右。
我读过论坛上关于使用 nohup 和 & 来保持此进程运行,即使我通过关闭终端或将笔记本电脑置于睡眠状态断开连接 - 但是,它似乎不起作用。这只是一个假设 - 使用顶部,我检查了该进程是否正在运行,但发现它不存在。
可能是初始命令不起作用。这是我当前输入的内容:
nohup recon-all -all -s &
(“recon-all -all -s” 是命令)
这不会启动进程,但会在我当前所在的目录中生成一个 nohup.txt 文件。只有当我删除禁止从命令来看它有效。
我想知道是否有人知道如何运行此过程?这是命令的问题吗?
任何帮助将非常感激。
答案1
我也遇到过类似的情况:我经常使用我的 Mac 终端在我的 Ubuntu 服务器上启动命令。
您在问题中没有提到的一件事是您从 Mac 终端连接到 Ubuntu 服务器的方式。如果您不先连接到 Ubuntu 服务器,则在 Mac 终端中输入的所有命令都将由 Mac 本身执行,而不是由 Ubuntu 服务器执行。
要从 Mac 终端连接到您的 Ubuntu 服务器,请根据您的 Ubuntu 服务器的配置输入以下命令之一:
telnet <IP address or DNS name of your Ubuntu server>
或者
ssh <IP address or DNS name of your Ubuntu server>
一旦您正确登录到您的 ubuntu 服务器,提示符将通过显示您的 ubuntu 服务器的 IP 地址或 DNS 名称来指示它。
然后,您就可以像在 Ubuntu 服务器终端中一样键入命令。当我测试您要执行的操作时,我不必使用 nohup 命令。“&”就足够了。
在我的测试用例中,我通过 ssh 命令从我的 Mac 终端连接到 Ubuntu 服务器,然后从连接的 Mac 终端启动我的命令:
ssh myServerDNSname
x11vnc &
此时,当我使用ps -elaf
命令分析进程层次结构时,x11vnc 进程附加到-bash
附加到该sshd
进程的进程(与 ssh 会话相对应的进程)。
然后,我断开 ssh 会话(ctrl + D 或exit
在 Mac 终端中输入)。x11vnc 进程仍在运行:它已自动附加到根进程“1”。