重启salt-minion会连同kill其他进程

操作系统是 centos7

salt-minion 版本是  2015.5.10 (Lithium)

官方给出的解决方案是:

https://github.com/saltstack/salt/issues/22993

[root@EACNCTC_HNY_LYY02_MGED001 ~]# cat /usr/lib/systemd/system/salt-minion.service

[Unit]

Description=The Salt Minion

After=syslog.target network.target

 

[Service]

Type=simple

LimitNOFILE=8192

ExecStart=/usr/bin/salt-minion

KillMode=process

 

[Install]

WantedBy=multi-user.target

 

添加KillMode=process 这一行,然后执行systemctl daemon-reload 命令生效

LimitNOFILE=8192 也可以加

 

大概问题:

salt-minion stop的简化逻辑是:先判断pid file是否存在,如果不存在就通过ps来查找pid。如果pid file存在而且pid file里面记录的pid所在进程正在运行,那么就把这个pid所在的进程kill掉。 然后,把整个stop基本流程搞清楚后,我们知道如果salt-minion是正常运行的,那么stop逻辑没任何问题,但是如果stop时salt-minion进程不存在,但是还残留了pid在pid file呢?(比如异常退出)

参考:

http://weibo.com/p/1001603882216953386740

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s