Debian如何停止运行一个后台进程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debian如何停止运行一个后台进程相关的知识,希望对你有一定的参考价值。

安装了一个多用户的ss,然后运行了python server.py然后出来下图的内容,没办法继续输入命令运行后就直接关掉了PUTTY,想问下再次登录终端想终止这个任务的运行要怎样操作?如果当时在运行这个server.py的时候有没有办法直接后台运行

参考技术A 如果是安卓的话就没事,很正常的,只要经常用360结束进程就好了,安卓这样做是为了启动更快而已,如果非要不运行的话,没办法只能卸载了追问

什么鬼 已经明确的说了 是linux的Debian发行版

参考技术B 如果是安卓的话就没事,很正常的,只要经常用360结束进程就好了,安卓这样做是为了启动更快而已,如果非要不运行的话,没法只能卸载了

dpkg remove 停止进程

【中文标题】dpkg remove 停止进程【英文标题】:dpkg remove to stop processes 【发布时间】:2012-08-22 07:30:00 【问题描述】:

我目前正在运行 Ubuntu 12.04。我创建了一个 debian 包,该包目前已成功安装并启动了三个新进程。我还通过将以下脚本放在 /etc/init.d 中使这三个进程在运行时启动:

# This example is from http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian
#  Also used http://wiki.debian.org/LSBInitScripts/

### BEGIN INIT INFO
# Provides:          bleh
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO


# Carry out specific functions when asked to by the system
case "$1" in
  start)
    cd //opt/bleh
    attrf=.gatewayattributes

    if [ ! -z "$1" ]
    then
  echo "[gateway]" >> $attrf
    echo "activationKey = $1" >> $attrf
fi

./bleh1 -n &
./bleh2 &
python bleh3 &

    ;;
  stop)
cd //opt/bleh
/usr/bin/pkill -f ./bleh1 -n
    /usr/bin/pkill -f bleh3
    kill -9 $(pidof bleh2)
    rm -rf logs
    ;;

这个脚本确实在运行时启动了三个进程,但由于某种原因,我实际上不能使用启动/停止命令,如 sudo /etc/init.d bleh.sh stop。

一个更大的问题是使用以下命令删除这个包: sudo dpkg -r bleh

实际上并没有停止这三个进程,它只是尝试删除我安装在我的 opt 文件夹中的 bleh 目录。另外,我的 bleh 目录中有一个文件夹,它没有被删除,它给了我一个警告,说明: 去除白斑... dpkg:警告:删除 bleh 时,目录 '/opt/bleh/logs' 不为空,因此未删除。

除非您具有 SU 权限,否则该日志目录中的文件是只读的,但我不明白这应该是什么问题,因为我在该 dpkg -r 命令上调用 sudo。

如果我再次运行 sudo dpkg -r bleh,它表明没有与 bleh 匹配的已安装包,这意味着它认为它已成功删除已安装的包,即使现有的日志目录和三个仍在运行的进程也是如此。

对不起,我知道这很长,但我真的需要一些帮助..提前谢谢!

【问题讨论】:

你是如何创建 dpkg 包的?使用 tar.gz?您必须在 dpkg 中调整卸载脚本以在删除文件之前停止进程。 卸载脚本在哪里??我认为找到它最终将成为这里的关键。 签出***.com/questions/9311627/… 【参考方案1】:

正如 Debian 新维护者指南中的 recommended,请使用 dh_installinit(当然,使用 debhelper 构建整个软件包)。默认情况下,这将添加脚本以在包安装和删除时启动和停止。

辅助文件(例如配置)通常在purge(例如dpkg -P)状态下被删除。要自己处理这个问题,您需要一个 deconfigure 脚本。

此外,最好使用start-stop-daemon 而不是&,这对于适当的守护进程来说是不够的。

【讨论】:

以上是关于Debian如何停止运行一个后台进程的主要内容,如果未能解决你的问题,请参考以下文章

停止旧的 XAMPP 后台进程

spring boot jar 进程自动停止,自动终止,不能后台持续运行

Centos7 进程的控制

Android:如何停止/清除我的 Android 小部件应用程序的缓存后台进程?

linux redhat 基本操作

linux之进程管理,系统监控