【问题标题】:linux shell: How to read command argument from a file?linux shell:如何从文件中读取命令参数?
【发布时间】:2010-12-15 06:29:22
【问题描述】:

我在文件“pid”中有进程 ID 我想杀了它。

类似:

kill -9 <read pid from file>

我试过了:

kill -9 `more pid` 

但它不起作用。我也尝试过xargs,但无法理解。

【问题讨论】:

标签: linux pipe xargs


【解决方案1】:

kill -9 $(cat pid)

为你工作?

【讨论】:

  • +1。我更喜欢 $() 方法而不是反引号,因为你可以嵌套它们。
【解决方案2】:

我的偏好是

kill -9 `cat pid`

这将适用于反引号中的任何命令。

【讨论】:

    【解决方案3】:

    kill -9 $(cat pid)cat pid | xargs kill -9 都可以工作

    【讨论】:

      【解决方案4】:

      你应该逐渐开始,然后如果它不想玩得很好,那么你应该逐渐开始使用繁重的东西来终止进程。

      无法捕获 SIGKILL (-9) 信号,这意味着进程占用的任何资源都不会被清理。

      首先尝试使用 kill SIGTERM (-15),然后通过 kill -0 $(cat pid) 检查进程是否存在。如果它仍然徘徊,那么一定要用-9来破坏它。

      SIGTERM 可以被进程捕获,任何已正确编写的进程都应该有一个信号处理程序来捕获 SIGTERM,然后在退出之前清理其资源。

      【讨论】:

      • 注意你可以通过kill -s TERM而不是kill -15
      【解决方案5】:

      让我总结一下所有的答案

      kill -9 $(cat pid)
      kill -9 `cat pid`
      cat pid | xargs kill -9
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-24
        • 2015-03-30
        • 2017-12-08
        • 2018-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-09
        相关资源
        最近更新 更多