$ kill -s 9 pid
时间: 2024-08-13 07:06:42 浏览: 77
`kill -s 9 pid` 是一个Unix/Linux命令,用于终止一个特定进程(进程ID,PID)。这里的 `-s` 参数后面跟随的是信号(signal)类型,9 是SIGKILL信号,这是一种强制性的终止信号,不会给进程任何机会去清理资源或执行清理操作,直接中断并结束该进程。
- `kill` 命令用于发送信号给指定的进程ID;
- `-s` 后面的数字9代表的是终止信号(SIGTERM),但在某些情况下,比如你想确保进程立即停止而不等待其自然退出,就会使用SIGKILL,因为它没有回退路径。
当你发送 SIGKILL 信号时,进程会被立即终止,并且可能不会有标准输出和错误日志,也不会执行任何清理代码,例如析构函数(这在默认情况下由 SIGTERM 提供)。因此,如果需要谨慎使用这个信号,因为通常它应该只在紧急或无法正常结束进程的情况下使用。
相关问题
[smsprev4@smspre1 PLCX]$ kill -9 $(pgrep PLCXPro) kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
这个错误提示表明您在使用 `kill` 命令时出现了语法错误。请检查您的命令语法是否正确。根据您提供的命令,可能是因为您没有指定要终止的进程 ID。您可以尝试以下命令来终止所有包含 "PLCXPro" 的进程:
```
pkill -f PLCXPro
```
这个命令会查找包含 "PLCXPro" 字符串的进程,并将它们全部终止。请注意,使用 `kill` 命令或 `pkill` 命令终止进程时,需要确保只终止您自己的进程,不要终止其他用户或系统进程,以免造成系统故障。
#!/bin/sh #HOME=/ BIN=PLCXPro stoprun() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -3 $PID else echo "$1 id $PID is down! it's over!" fi } stoprunstart() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1"|grep start | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -9 $PID else echo "$1 id $PID is down! it's over!" fi } runtest() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then ## echo $1 id is $PID, sys normal process! sleep 30 else echo $1 is down! reload the process! date echo nohup $BIN & nohup ./$BIN > /dev/null & fi }怎么开启或者重启这个PLCXPro
可以运行以下命令来重启 PLCXPro 进程:
```
./stopapp.sh PLCXPro
```
该命令会执行 stoprun 函数,查找并终止名为 PLCXPro 的进程。
然后再执行以下命令来启动 PLCXPro 进程:
```
./runapp.sh PLCXPro
```
该命令会执行 runtest 函数,查找名为 PLCXPro 的进程是否已经存在,若不存在则启动 PLCXPro 进程。
阅读全文