【问题标题】:Kill active process when terminal is closed终端关闭时终止活动进程
【发布时间】:2020-08-16 13:23:48
【问题描述】:

我希望将终端设置为在我关闭窗口时自动终止活动进程。相当于在关闭窗口之前点击Ctrl+C,但是是自动的。

这是我目前在.bashrc 中的内容:

function onExit(){
    xdotool key ctrl+c
}
trap onExit EXIT

trap 已成功运行该功能,但xdotool(基于其他地方的建议)不会终止活动进程。任何人都可以建议其他可能有用的东西吗?还是我试图做的事情是不可能的?

编辑:我在通过 WSL2 运行 Ubuntu 的 Windows 终端中。这可能非常重要。

【问题讨论】:

  • 你的活跃进程是什么?
  • 在我的系统上,这是自动行为,我积极尝试使用特定命令来防止挂断,例如nohup / disown;这个线程有一些关于这些类型案例的更多信息:unix.stackexchange.com/questions/84737/…
  • 无论我最近运行什么。通常它是我的节点。

标签: terminal windows-subsystem-for-linux


【解决方案1】:

假设您在 Gnome shell 或类似工具中使用终端窗口,关闭终端窗口通常会杀死前台进程,如果可能的话,就像按 Ctrl+C 一样。 它将杀死您的终端/bash 会话的所有子进程。

请在此处查看最佳答案: https://superuser.com/questions/243460/what-to-do-when-ctrl-c-cant-kill-a-process

【讨论】:

    【解决方案2】:

    如果您使用的是 Redhat,您可以更改 huponexit shopt 设置;见https://serverfault.com/questions/115999/if-i-launch-a-background-process-and-then-log-out-will-it-continue-to-run

    【讨论】:

      猜你喜欢
      • 2020-09-19
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多