監控你的 Swoole 程序文件變化並自動重啓服務器 - 適用於開發php
Monitor for any changes in your swoole application and automatically restart the server - perfect for development node
SwooleFor 的定位就如同 PHP 版本的 nodemon, node-devpython
該項目使用 mix-phar 開發laravel
執行腳本命令:git
php swoolefor.phar --exec="php app.php arg..."
若是 disable_functions
禁用了 proc_open
方法,按以下方法執行:github
php -d disable_functions='' swoolefor.phar --exec="php app.php arg..."
啓動成功:apache
_____ __ ______ / ___/ ______ ____ / /__ / ____/___ _____ \__ \ | /| / / __ \/ __ \/ / _ \/ /_ / __ \/ ___/ ___/ / |/ |/ / /_/ / /_/ / / __/ __/ / /_/ / / /____/|__/|__/\____/\____/_/\___/_/ \____/_/ Version: 1.1.1, Swoole: 4.4.0 [info] 2019-08-14 11:51:05.937 <920> [message] executor start, exec: [php /data/bin/mix-httpd start] [info] 2019-08-14 11:51:05.938 <920> [message] fork sub process, pid: 921 [info] 2019-08-14 11:51:05.939 <920> [message] monitor start [info] 2019-08-14 11:51:05.939 <920> [message] watch: /data [info] 2019-08-14 11:51:05.939 <920> [message] delay: 3s [info] 2019-08-14 11:51:05.939 <920> [message] ext: .php,.json
php swoolefor.phar --help
-e, --exec
Swoole application or other script start command-d, --daemon
Run in the background--watch
Watch code file directory--delay
File change delay processing (seconds)--ext
Monitor only changes to these extensions--signal
Send this signal to the process--exec
內部能夠是任何命令,必須爲絕對路徑,必須爲前臺執行的常駐程序 (不然會致使不斷fork進程)npm
php swoolefor.phar --exec="php app.php"
也可以使用短參數json
php swoolefor.phar -e "php app.php"
php swoolefor.phar --exec="node app.js"
php swoolefor.phar --exec="python app.py"
SwooleFor 自己能夠在後臺執行,這樣能夠脫離終端,增長 --daemon
便可服務器
php swoolefor.phar --exec="node app.js" --daemon
也可以使用短參數
php swoolefor.phar --exec="node app.js" -d
--watch
的默認值爲 --exec
參數中腳本的當前目錄,若是腳本是在 bin
目錄中則會監控上一級的目錄。
// 會自動監控 /data 目錄 php swoolefor.phar --exec="php /data/bin/app.php"
指定監控其餘目錄
php swoolefor.phar --exec="php app.php" --watch=/tmp
當更新了不少文件時,咱們並不但願程序一直頻繁的重啓,因此咱們須要設置一個延遲執行重啓的時間,只有在達到設置的時間才執行重啓操做。
--delay
默認爲 3s
php swoolefor.phar --exec="php app.php" --delay=5
--ext
默認爲 php,json
,當須要觀察其餘擴展名時可配置
php swoolefor.phar --exec="php app.php" --ext=php,json,ini
程序重啓時終止進程是經過給進程發送信號完成的,當咱們須要指定信號時
--signal
默認爲 15
php swoolefor.phar --exec="php app.php" --signal=1
經常使用的信號表
信號 | 值 |
---|---|
SIGTERM | 15 |
SIGKILL | 9 |
SIGHUP | 1 |
... | ... |
php swoolefor.phar -e "php /data/bin/mix-httpd start -c /data/applications/http/config/httpd.php"
php swoolefor.phar -e "php /data/bin/swoft http:start"
php swoolefor.phar -e "php /data/bin/easyswoole start"
php swoolefor.phar -e "php /data/bin/laravels start"
Apache License Version 2.0, http://www.apache.org/licenses/