【发布时间】:2020-08-27 05:46:08
【问题描述】:
我正在使用 .sh 运行我的 BTEQ 脚本
有时当我终止 .sh 进程时,BTEQ 进程并没有被终止或停止。 BTEQ 仍然在后台运行。
那么,如何杀死 .sh 和 BTEQ 进程呢?
我可以查看一个指定的 TERADATA 用户在后台运行的当前 BTEQ 进程吗?
【问题讨论】:
我正在使用 .sh 运行我的 BTEQ 脚本
有时当我终止 .sh 进程时,BTEQ 进程并没有被终止或停止。 BTEQ 仍然在后台运行。
那么,如何杀死 .sh 和 BTEQ 进程呢?
我可以查看一个指定的 TERADATA 用户在后台运行的当前 BTEQ 进程吗?
【问题讨论】:
您可以通过以下方式查看服务器上所有正在运行的 bteq 进程的列表:
ps -ef | grep bteq
这将显示用户、进程 ID 和启动日期。这只是两个内置的 Linux 命令(ps 查看通过管道传输到 grep 的进程,grep 搜索搜索词“bteq”,返回包含“bteq”`的ps -ef 行)
假设您拥有适当的权限/权限,您可以使用以下命令结束所有 bteq 会话。
killall bteq
这可能会产生意想不到的后果,因为它类似于在处理存储过程或运行大型 INSERT INTO 或您的人正在通过 bteq 运行的任何事情的过程中启动用户。
如果你想更有针对性,那么从你想杀死的bteq会话的ps -ef | grep bteq命令中找到进程id。 (进程 ID 将是用户之后的第一个数字)。然后在命令中粘贴该进程ID:
kill <the process id>
然后,该会话将被终止,而不会干扰其他正在运行的 bteq 会话。
狩猎愉快!
【讨论】:
kill 之后查看 bteq 用户是否仍然处于活动状态?