linux - 无法从 shell 脚本终止进程

标签 linux shell microcontroller xbmc raspberry-pi3

在 Raspberry Pi 上,我在/etc/init.d 文件夹中有一个名为“instore”的脚本文件。 我执行命令后

service instore restart

omxplayer 进程应该停止。但这种情况并非如此。脚本的相关部分:

do_start () {
    log_daemon_msg "Starting $DAEMON_NAME daemon"
    start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
    log_end_msg $?
    }

do_stop () {
    log_daemon_msg "Stopping $DAEMON_NAME daemon"
    start-stop-daemon --stop --pidfile $PIDFILE --retry 10
    killall -9 omxplayer omxplayer.bin &> /dev/null
    log_end_msg $?
    }

case "$1" in

start|stop)
    do_${1}
    ;;

restart|reload|force-reload)
    do_stop
    do_start
    ;;

status)
    status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
    ;;
*)
    echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
    exit 1
    ;;

如果我使用命令

killall -9 omxplayer

在终端中,进程总是停止。任何人都知道可能是什么问题?

最佳答案

服务重启后,这些行已被记录:

May 6 10:12:28 JyskEger systemd[1]: Stoppping LSB:Put a short description of the service here... 
May 6 10:12:28 JyskEger instore[14519]: Stopping instore daemon 
May 6 10:12:28 JyskEger systemd[1]: Starting LSB: Put a short description of the service here... 
May 6 10:12:28 JyskEger systemd[1]: Started LSB: Put a short description of the service here... 
May 6 10:12:28 JyskEger instore[14525]: Starting instore daemon:` 

因此记录了开始行但没有记录结束消息。

关于linux - 无法从 shell 脚本终止进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37068406/

相关文章:

c - c头文件中的静态结构声明和初始化

c# - Linux 和 Mac 用户可以查看使用 ASP.NET 和 C# 创建的页面吗?

Bash,服务器在杀死 tmux 进程后意外退出

linux - 在 Alpine docker 中安装软件包

shell-mode emacs 奇怪地显示 npm install 字符

linux - 如何间歇性地在 shell 提示符中显示我的历史命令编号?

arm - 无法删除 samd21 微 Controller 闪存的第一页

c# - 将 C# 调试输出写入 .txt 文件

linux - Unix 缓存二进制文件吗?

linux - 从文件中删除匹配词