linux 杀死命令 -9 与 -15

2023-12-02

我有一个进程想要终止然后重新启动服务。有人编写了通过编写以下脚本集来终止进程的代码

ps -ef |grep "process_name" | awk '{print "kill -15 " $2}'> /projects/test/kill.sh
#run the kill script
/projects/test/kill.sh

然后又

ps -ef |grep "process_name" | awk '{print "kill -9 " $2}'> /projects/test/kill.sh
#run the kill script
/projects/test/kill.sh

#finally
service restart command here     
# the problem here is that service does not restart properly sometimes, 
as it thinks that process is still running.

据我了解,kill -15 会优雅地终止该进程。但他们很快就拥有了kill -9。 因此,如果一个进程在第一个命令中被杀死,那么当在同一进程上运行kill -9 时会发生什么?或者 ps -ef 是否会列出该进程,因为它已被标记为终止?

谢谢!


你是对的kill -15 is to 优雅地杀死一个进程。但是,终止进程是瞬间发生的事情。所以上面的程序将检查pid,试图优雅地杀死它..如果kill -15 fails- 这kill -9被执行。它知道的方式kill -15失败了,是grep命令。如果kill -15是成功的,即pid不应该再存在了,使得以下内容grep返回空。

所以真的,kill -9仅运行如果kill -15未能正常停止程序。这种方法的问题在于,有时优雅地停止进程可能需要一些时间,具体取决于程序。所以恕我直言,需要一段等待期或sleep几秒钟以允许kill -15尝试优雅地停止该过程..最有把握的是使用上述方法,kill -9几乎总是被调用,因为脚本不允许太多时间来正确关闭进程。如果kill -15仍在处理中,kill -9只会覆盖并立即停止该过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 杀死命令 -9 与 -15 的相关文章

  • 如何在 Bash 中删除字符串的第一部分?

    该代码将给出第一部分 但是如何删除它并获取没有第一部分的整个字符串 echo first second third etc cut d f1 你应该看看info cut 这将解释什么f1 means 实际上我们只需要第二个字段之后的字段 f
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac
  • C# 新进程窗口不隐藏[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 应用程序中隐藏命令窗口 https stackoverflow com questions 3440105 hide command window in c sharp application
  • Linux >2.6.33:可以使用 sendfile() 来实现更快的“猫”吗?

    必须将大量大文件连接成一个更大的单个文件 我们目前使用 cat file1 file2 output file but are wondering whether it could be done faster than with that
  • 使用 sed 将反斜杠替换为斜杠[重复]

    这个问题在这里已经有答案了 我需要更换 with 我有一个文件 其中包含 test test2 test3 test4 I tried VRS Ruta cat ruta lst sed s g sed s g output test te
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

    我正在尝试使用 Node js 执行 bash 脚本child process exec 然而它在文件的第二行爆炸 usr bin env bash set eo pipefail TRACE set x echo we are here
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • Xcode 方案预操作脚本未运行

    点击构建 构建日志中不会打印任何内容 是什么赋予了 Xcode 版本 8 2 1 8C1002 预操作发生在构建之前 因此输出不会进入构建日志 而是进入 stdErr 您可以将输出复制到文件中 exec gt PROJECT DIR pre
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • 如何在 C 中生成另一个进程?

    如何使用 C 运行外部程序并向其传递命令行参数 如果必须使用操作系统 API 请包含适用于 Windows Mac 和 Linux 的解决方案 这实际上取决于您想要做什么 确切地说 因为它是 依赖于操作系统 不太清楚你想做什么 尽管如此 我
  • 将儒略时间戳转换为 UNIX 中的常规时间

    我需要使用 Bash 将 UNIX 中的 Julian 时间戳转换为常规时间戳 在 Tandem OS 上 转换非常简单 例子 212186319010244541 OLSAPP SYSTST 1 gt interprettimestamp
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • Shell 执行:时间与 /usr/bin/time

    当 bash zsh 执行以下操作时会发生什么 usr bin time l sleep 1 1 00 real 0 00 user 0 00 sys 516096 maximum resident set size 0 average s
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你

随机推荐

  • BST 时间错误

    使用下面的代码 每个时区都正确打印值 除了BST import java text def format yyyy MM dd HH mm ssXXX def dt new Date println dt SimpleDateFormat
  • iPhone创建聊天应用程序[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想在 iPhone 上创建一个聊天类应用程序 我知道我将如何实现一个轮询模型 其中 i
  • 在 C# 中将小数或字符串转换为货币的最佳方法?

    我一直在尝试根据我的选择找到将小数 字符串转换为货币的最佳方法 public static string returnWaluta string varS string varSymbol decimal varD decimal Pars
  • Bootstrap 自定义下载中的颜色?

    所以我使用 Bootstrap自定义和下载页面生成具有自定义颜色的 Bootstrap 文件版本 我的想法是我想添加一些其他颜色 例如 purpleLight 以使网站设计的维护更容易 所以我查看了网站生成的下载内容 并且我的自定义似乎不在
  • DocumentDB - 删除导致 401 错误

    当我尝试对 DocumentDB 集合执行 DELETE 动词时 我总是收到 401 错误 用于查询 插入 更新的 POST 工作正常 因此我确信计算授权令牌的代码是正确的 但我不确定应该为资源 id 和资源类型传递什么 payLoad L
  • 检查 firebase 数据库中是否存在值

    firebase中有没有一种方法可以检查数据库中是否存在值 Firebase有方法 exists 但根据文档它只检查密钥 我有以下结构 users KKUmYgLYREWCnWeHCvO fName Peter ID U1EL9SSUQ u
  • 在 R 中读取键值文件

    有没有办法在 R 中读取简单的文本键值文件 Key1 Value1 Key2 Value2 Key3 Value3 理想情况下 我想像这样访问数据 myfile Key1 应返回 Value1 myfile Key2 应返回 Value2等
  • WP8:无法使用本机组件

    Windows Phone 8 C 项目 MyApp 从 WP7 1 迁移 我添加了一个本机 Windows 运行时组件库 AppLib 到解决方案 创建了一个参考 有一个公共密封的参考类 MyClass 在里面 C 代码中有对它的引用 在
  • Python strptime 芬兰语

    我有一个日期的芬兰表示 蒂斯塔纳 27 lokakuuta 2015 我需要将其转换为日期时间对象 但是 Python 中的日期时间库无法识别日期和月份名称 我希望像下面这样的东西能够工作 import locale from dateti
  • 是否可以拦截应用程序卸载?

    是否可以拦截应用程序卸载并进行一些工作 例如 我的应用程序修改了设备的一些文件 因此在卸载我的应用程序所做的回滚更改之前会很整洁 有什么提示 想法吗 你在谈论类似的问题吗 应用程序卸载前收听广播 然后如上所述 您必须使用上面链接中给出的意图
  • 通过 PIP 安装 pyautogui 时获取“encoding”是此函数的无效关键字参数”

    当我尝试将 pyautogui 库安装到 python 时 出现此错误 请在下面找到详细信息 ERROR Complete output from command python setup py egg info ERROR Traceba
  • pandas - 按部分字符串分组

    我想按部分子字符串对 DataFrame 进行分组 这是一个示例 csv 文件 GridCode Key 1000 Colour 1000 Colours 1001 Behaviours 1001 Behaviour 1002 Favour
  • selenium webdriver C# 多线程

    Selenium WebDriver 支持多线程吗 我尝试在打开 2 4 个窗口的情况下使用它 看起来浏览器窗口 Firefox 有时会被冻结 当一个线程启动时 driver FindElement By Id id SendKeys My
  • Django 复杂注释

    先决条件 查询集必须返回Articles 查询集必须返回唯一的对象 不得使用访问数据库的 for 循环 意味着对要注释的 N 个对象进行 N 个查询 我的模型 class Report BaseModel ios report JSONFi
  • 是否可以在 Node.js 上使用 UDP 来保证消息的传递?

    如何在 Node js 上使用 UDP 保证消息的传递 例如 如果数据包失败 我可以重新发送数据包 但有没有办法识别它何时失败 另外 数据包丢失有多常见 如果您真正想知道的是 如何检测丢失的数据包 那么一般的技术是让接收方对发送的每个数据包
  • ng-options 在另一个下拉列表中按值过滤

    这似乎是一个非常简单的代码 但我无法弄清楚为什么它不起作用 我想按所选的 品牌 过滤 型号 下拉列表 Make
  • 如何在 webview 组件中检索 Javascript 函数值

    如何从 webview 组件中加载的网页中检索 Javascript 函数值 你不能直接 您可以通过以下方式调用 Javascript 函数loadUrl javascript where 是你的函数调用 但是 您无法通过这种方式得到结果
  • 从 API 网关调用时,Cloudwatch Logs PutLogEvents 操作失败,并出现 com.amazon.coral.service#UnknownOperationException

    我使用 API Gateway 的 AWS 服务集成类型通过 PutLogEvents 操作将日志添加到 Cloudwatch Logs 服务 如下所述 https docs aws amazon com AmazonCloudWatchL
  • 为什么在将临时变量传递给线程函数时移动构造函数会被调用两次? [复制]

    这个问题在这里已经有答案了 在下面的代码中 我无法理解为什么类的移动构造函数被调用两次 因为我的线程函数通过右值引用获取参数 所以我希望当参数移动到线程构造函数时 移动构造函数只会被调用一次 有人可以给出关于线程构造函数如何工作以及如何将参
  • linux 杀死命令 -9 与 -15

    我有一个进程想要终止然后重新启动服务 有人编写了通过编写以下脚本集来终止进程的代码 ps ef grep process name awk print kill 15 2 gt projects test kill sh run the k