服务脚本stop选项
首先,判断pid文件的长度是否不为零。
-s file 如果文件的长度不为零,则为真
此时,会通过pid文件获取mysqld进程的pid,注意,不是mysqld_safe进程的pid
然后,判断mysqld进程是否在正常运行,
如果是,则通过kill $mysqld_pid的方式来关闭mysqld进程
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
标准的kill命令通常会终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
然后,调用wait_for_pid函数进行判断,其实,wait_for_pid函数中设置avoid_race_condition变量的目的是为了stop选项,确实有可能出现,mysqld是在检查pid file之后,检查进程是否存活之前退出的。
如果mysqld进程没有正常运行,在会打印“MySQL server process #$mysqld_pid is not running!”信息,并删除pid文件。
如果在执行stop的时候,判断pid文件的长度为0,则会打印"MySQL server PID file could not be found!"信息。
所以,在pid文件不存在的情况下,通过服务脚本执行stop选项并不会关闭mysqld进程,这个时候,就可通过kill $mysqld_pid的方式来关闭mysqld进程。
'stop') # Stop daemon. We use a signal here to avoid having to know the # root password. if test -s "$mysqld_pid_file_path" then mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null) then echo $echo_n "Shutting down MySQL" kill $mysqld_pid # mysqld should remove the pid file when it exits, so wait for it. wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$? else log_failure_msg "MySQL server process #$mysqld_pid is not running!" rm "$mysqld_pid_file_path" fi # Delete lock for RedHat / SuSE if test -f "$lock_file_path" then rm -f "$lock_file_path" fi exit $return_value else log_failure_msg "MySQL server PID file could not be found!" fi ;;
服务脚本restart选项
首先,先执行stop操作,如果stop操作成功的话,则继续执行start操作。
如果stop操作失败的话,则会输出"Failed to stop running server, so refusing to try to start."信息,并退出脚本。
'restart') # Stop the service and regardless of whether it was # running or not, start it again. if $0 stop $other_args; then $0 start $other_args else log_failure_msg "Failed to stop running server, so refusing to try to start." exit 1 fi ;;
服务脚本reload选项
首先,判断pid文件的长度是否为0,如果不为0,则将该文件中的值设置为mysqld_pid变量的值。
然后对该进程执行kill -HUP操作。
kill -HUP pid
pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
根据约定,当您发送一个挂起信号(信号 1 或 HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件。
如果pid文件的长度为0,则输出"MySQL PID file could not be found!"。
'reload'(北联网教程,专业提供视频软件下载)
第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页……