作业控制:如何使用作业 ID 终止 sudo 作业

作业控制:如何使用作业 ID 终止 sudo 作业

如果我使用 运行作业,则sudo无法运行kill %1它们(操作不允许)。我的第一个想法是改用sudo kill %1,但这当然也行不通,因为它不会使用 bash 内置的kill。有什么技巧可以让它工作吗?

// 我知道如何通过进程的 PID 来终止进程。问题具体是关于如何使用作业 ID 来终止 sudo 作业。

答案1

sudo kill "$(jobs -p %1)"

笔记:从技术上讲,这里不需要双引号,因为我们知道的输出jobs将是 PID,因此不会包含 中的任何字符$IFS。但是,引用变量始终是一个好习惯。为了确保您始终使用高质量的编码实践,它们必须是根深蒂固的习惯。 比$(...)反引号更常用,因为反引号是旧的做事方式,而且不太显眼。$(...)相对而言,是新的热点。在这种情况下,新的热点已有几十年的历史了。

相关内容