如何 运行 从批处理脚本处理
how to run process from batch script
我在 linux debian 中有简单的 batch 脚本 - Debian GNU/Linux 6.0 - 然后停止进程删除日志文件并再次启动进程:
#!/bin/bash
killall -KILL rsyslogd
sleep 5s
rm /var/log/syslog
rm /var/log/messages
rm /var/log/kern.log
sleep 3s
rsyslogd
exit
进程名称是rsyslogd。我必须在删除日志文件之前关闭它,以便 linux 从磁盘中清空 space。
我看到 killall -KILL 通过名称关闭进程,但相反的是什么 - 运行 命令?
在没有任何命令的情况下按名称调用它似乎不起作用。我很乐意提供任何提示,谢谢。
Debian 使用 systemd
来管理进程。因此,您应该使用 systemd 的命令来停止和启动 rsyslogd
.
systemctl stop rsyslog
和
systemctl start rsyslog
如果您正在使用 确实 旧版本的 Debian(太旧以至于您应该升级),可能仍在使用 sys V。在这种情况下,/etc/init.d
下有一个名为 rc.rsyslog
或类似名称的文件(使用 ls /etc/init.d
查找确切名称)。在那种情况下,它将是
sudo /etc/init.d/rc.rsyslog stop
和
sudo /etc/init.d/rc.rsyslog start
或者您的 systemd
软件包可能已损坏。在这种情况下,可以重新安装软件包:
apt-get --reinstall install systemd
启动 rsyslogd:
systemctl start rsyslog
要阻止它:
systemctl stop rsyslog
如果您想同时执行这两项操作,请使用
systemctl restart rsyslog
我在 linux debian 中有简单的 batch 脚本 - Debian GNU/Linux 6.0 - 然后停止进程删除日志文件并再次启动进程:
#!/bin/bash
killall -KILL rsyslogd
sleep 5s
rm /var/log/syslog
rm /var/log/messages
rm /var/log/kern.log
sleep 3s
rsyslogd
exit
进程名称是rsyslogd。我必须在删除日志文件之前关闭它,以便 linux 从磁盘中清空 space。
我看到 killall -KILL 通过名称关闭进程,但相反的是什么 - 运行 命令? 在没有任何命令的情况下按名称调用它似乎不起作用。我很乐意提供任何提示,谢谢。
Debian 使用 systemd
来管理进程。因此,您应该使用 systemd 的命令来停止和启动 rsyslogd
.
systemctl stop rsyslog
和
systemctl start rsyslog
如果您正在使用 确实 旧版本的 Debian(太旧以至于您应该升级),可能仍在使用 sys V。在这种情况下,/etc/init.d
下有一个名为 rc.rsyslog
或类似名称的文件(使用 ls /etc/init.d
查找确切名称)。在那种情况下,它将是
sudo /etc/init.d/rc.rsyslog stop
和
sudo /etc/init.d/rc.rsyslog start
或者您的 systemd
软件包可能已损坏。在这种情况下,可以重新安装软件包:
apt-get --reinstall install systemd
启动 rsyslogd:
systemctl start rsyslog
要阻止它:
systemctl stop rsyslog
如果您想同时执行这两项操作,请使用
systemctl restart rsyslog