如何在没有 pid 的 unix 机器中无限期地关闭后台进程 运行?

How to close a process running in background indefinitely in a unix machine without pid?

在 unix 机器 (solaris) 中,当我像这样输入用户 oracle 后:

su - oracle

我通过命令行启动了一个程序,该程序执行以下操作:

for i in $(seq 1 900); do while true ; do printf "select * from dual;\n" | sqlplus <user>/<password>; done &>/dev/null & done

我关闭了终端,程序在后台保留了 运行,正如预期的那样。

如果我没有程序 pid,如何终止程序?

您可以使用 $! 获取该作业的 PID,将其写入某个文件并稍后访问。

要使用 sqlplus 命令终止所有进程,请尝试:

pkill sqlplus