gpt4 book ai didi

bash - gnome session 结束时停止脚本

转载 作者:行者123 更新时间:2023-12-05 07:51:15 27 4
gpt4 key购买 nike

Start Script when Gnome Starts Up有人问如何在 gnome 登录时自动启动脚本。但是如何在注销时自动停止在登录时启动的长时间运行的脚本?在我的例子中,当我登录两次时有两个过程。有趣的是,首先启动的进程不再位于 gnome-session 下。

最佳答案

我会将执行的二进制文件包装在一个简单的 bash 脚本中,该脚本将启动进程的 pid 保存在一个临时文件中。如果这个文件已经存在,它会跳过应用程序的启动。由于该文件保存在 /tmp 目录中,因此一旦您重新启动计算机,所有内容都会被删除。

#!/bin/bash

binary="git-cola"
temp_file="/tmp/my_${binary}_instance.pid"

if [[ -f ${temp_file} ]]
then
echo "PID exists"
else
exec ${binary} &
echo $! > ${temp_file}
fi

稍加努力,您可以检查进程的 pid 是否仍在运行,并在登录时重新启动它(例如,如果进程崩溃或其他用户关闭了它)。

我其实不使用Gnome,所以我不能告诉你是否有更优雅的方式来杀死进程。就像注销 Hook 。但是,一旦您获得了保存的进程的 pid,您就可以使用 kill -9 PID 将其终止。 (请参阅 man kill 以了解更温和的结束进程的方法)。

这可能不是停止进程的解决方案。但是要防止它启动两次。

关于bash - gnome session 结束时停止脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com