Linux下service xxx start/stop/restart啟動服務、關閉服務、重啟服務深入理解@
阿新 • • 發佈:2019-01-30
我們經常使用service xxx start來啟動一個服務,那麼service究竟是執行的是什麼?
實際上service是一個/sbin/下的一個指令碼,名稱為service。服務的絕對路徑為/sbin/service ,開啟這個檔案vim /sbin/service,我們會發現其實它就是一個很普通的shell指令碼,如下:
service指令碼主要實現以下兩個功能1.初始化執行環境變數PATH,TERM 和SERVICEDIRPATH=/sbin:/usr/sbin:/bin:/usr/bin TERM,為顯示外設的值,一般為xterm
SERVICEDIR是/etc/init.d目錄
2.呼叫/etc/init.d/資料夾下的相應指令碼,指令碼的引數為service命令第二個及之後的引數實際上是執行的/etc/init.d/目錄之下的指令碼
/etc/init.d/目錄下發現下面都是shell指令碼,腳本里面執行的程式最終還是指向了不同位置譬如/usr/bin等目錄下面的程式, 只不過在shell指令碼中可能直接對程式的一些執行引數繼續進行了設定。
使用service mysqld start來啟動mysql服務
然後使用 ps aux|grep mysqld來檢視服務發現
可見禪道mysqld服務啟動實際是和
service mysqld start 等於/usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock;