📜  树莓派停止一个 rc.local 进程 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:38.731000             🧑  作者: Mango

树莓派停止一个 rc.local 进程 - Shell-Bash

在树莓派上,rc.local 是一个开机启动的脚本文件,它可以在系统启动后自动运行一些特定的指令、进程等。

有时候我们需要停止 rc.local 进程,比如需要修改 rc.local 文件内容,但是在修改前我们需要确认 rc.local 是否在运行中。下面是停止 rc.local 进程的示例代码:

#!/bin/bash
# stop rc.local process
rcpid=$(ps aux | grep rc.local | egrep -v "grep|$0" | awk '{print $2}')
if [ -n "$rcpid" ]; then
    echo "rc.local process pid: $rcpid"
    sudo kill $rcpid
    echo "rc.local process stopped"
else
    echo "rc.local process not found"
fi

这段代码会首先获取 rc.local 进程的进程号,并使用 sudo kill 命令停止该进程。在进程号不为空的情况下,会输出进程号和进程已被停止的提示信息;否则输出进程未找到的提示信息。

我们可以将该代码保存为脚本文件,例如 stop_rclocal.sh ,然后使用 chmod 命令赋予该脚本可执行权限,例如:

chmod +x stop_rclocal.sh

之后,我们就可以在终端中直接运行该脚本并停止 rc.local 进程了:

./stop_rclocal.sh

注意:停止 rc.local 进程会导致启动时不再执行 rc.local 中的指令。如果需要重新开启 rc.local 进程,请重启系统或手动启动 rc.local 进程。