如果我用sudo运行作业,我不能kill %1他们kill %1 (操作不允许)。 我的第一个想法是使用sudo kill %1 ,但是这当然不起作用,因为它不会使用bash内build的kill 。 有没有一个把戏这个工作?
//我知道如何通过PID来杀死一个进程。 问题是如何使用工作id来杀死一个sudo工作。
sudo kill "$(jobs -p %1)"
这个问题不好,你应该感觉不好。
注意:在技术上,双引号不是必需的,在这里,因为我们知道jobs的输出将是一个PID,所以不会在$IFS包含任何字符。 但是,引用variables总是一个好习惯。为了确保您始终如一地使用高质量的编码实践,它们必须是根深蒂固的习惯。 $(...)用于反引号,因为反引号是旧的做事方式,他们不太明显。 $(...)是相对而言的新热点。 在这种情况下,新的热度是几十年前的。
它是否工作,如果你尝试:
sudo kill -9 <pid>