Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash:绑定到IP地址的进程的故障保护终止_Bash_Posix_Sigkill_Sigterm - Fatal编程技术网

Bash:绑定到IP地址的进程的故障保护终止

Bash:绑定到IP地址的进程的故障保护终止,bash,posix,sigkill,sigterm,Bash,Posix,Sigkill,Sigterm,我有一些进程,启动后绑定到一个地址和端口。使用exec在屏幕中运行这些进程,以便在子进程关闭时屏幕关闭 在终止进程时,我使用kill-9pid,但有时屏幕会结束,但当我重新启动进程时,旧进程仍在使用端口,我必须再次终止进程 我还读到,SIGKILL使套接字打开,内存陈旧,使用的是随机资源,所以我转向纯kill PID,这是一个SIGTERM 是保证允许进程从地址和端口解除绑定的SIGTERM,还是有更好的选择?如果SIGKILL所有保持侦听端口打开的进程,它保证关闭 但是,它可能不会在几分钟内关

我有一些进程,启动后绑定到一个地址和端口。使用
exec
在屏幕中运行这些进程,以便在子进程关闭时屏幕关闭

在终止进程时,我使用
kill-9pid
,但有时屏幕会结束,但当我重新启动进程时,旧进程仍在使用端口,我必须再次终止进程

我还读到,
SIGKILL
使套接字打开,内存陈旧,使用的是随机资源,所以我转向纯
kill PID
,这是一个
SIGTERM


是保证允许进程从地址和端口解除绑定的
SIGTERM,还是有更好的选择?

如果SIGKILL所有保持侦听端口打开的进程,它保证关闭

但是,它可能不会在几分钟内关闭,而它处于时间等待状态,这是TCP规范所要求的(以便让侦听客户端知道端口已关闭,以防他们错过原始关闭数据包)

性能良好的服务器将使用选项SO_REUSEADDR打开套接字,允许它在重新启动时立即回收相同的端口,但这是特定于应用程序的。如果没有它,端口将显示为在使用几分钟