當前位置:首頁 » 編程語言 » phpshell腳本

phpshell腳本

發布時間: 2024-10-21 07:33:10

A. linux 下寫 shell kill掉運行時間超過5分鍾的php進程

可以的,能根據Cpu累積耗時殺掉程序。
相關進程名字要知道哈。
假設以php進程為名字。
p_name=php
while true
do
sleep 3
#每3秒檢查一次。
pro="$(ps -A|grep "$p_name"|head -n1)"
time="$(echo $pro|awk '{
split($3,tab,/:/); if (tab[2]+tab[1]*60>=5) {print 1}else{print 0}
}')"
#上面那句利用awk判斷時間是不是大於5分鍾。是則輸出1,否則輸出0.
pid="$(echo $pro|awk '{print $1}')"
#如果為1 就殺掉那個進程。
if [ $time = '1' ]
kill -9 $pid
fi
done

B. 腳本分幾種,用途都是什麼

腳本語言有很多種,比如VBScript / JavaScript等,完成的功能也有很多。至於怎麼寫腳本,每個腳本都有自己的語言規范,按照語言規范來寫吧,一般腳本都是純文本格式,所以使用系統自帶的筆記本軟體就可以完成這項工作。

C. shell腳本做文本解析同php和python比哪個效率更高

shell的效率最差,因為本身shell沒有文本解析的功能,多數情況下還是通過調用perl、sed等工具實現的,調用這些工具本質上是執行了外部程序,不斷的執行程序,所以效率很差。

而php、perl等都只一個進程就完成所有的處理操作。

D. php怎樣多線程操作

其實就PHP而言,可以用2種方式來做:
(1)在PHP里使用shell_exec的函數,以shell的方式,啟動一個獨立的PHP腳本執行。這種方式,其實相當於在Web伺服器處理過程中,獨立起了一個shell進程處理你的任務。這里,需要特別注意的是shell_exec的伺服器安全,注意校驗參數,小心避免被帶入shell命令中。這個是比較容易實現的方式。
(2)使用PHP實現一個Server,監聽一個埠,為Web端提供服務。這里的實現方式有很多,通常要配合擴展,例如原生的pthread(多線程),開源擴展swoole等等。

E. 在終端中直接運行指令與放在腳本中運行指令, 運行結果不一樣

ls -l `which sh`
sh --version

看看輸出是什麼
估計和你當前用的 shell 命令行不是同一個 shell 解釋器。

寫 shell 腳本,記住一定要在最開始寫 #!/bin/bash 或者其他的解釋器,比如 csh、tsh。python、perl、php 都可以這么用,這樣你的腳本就制定了一個解釋器來運行。運行時不要用 sh xxx.sh ,而是賦予可運行許可權後 ./xxxx.sh 方式運行。

一般 Linux 下面的 /bin/sh 是一個鏈接,指向一個默認的 shell 解釋器,這個鏈接如果不是你需要的解釋器,那麼腳本運行出現任何問題都可能。如果系統裝了 busybox ,他也會提供一個 sh 解釋器,而且命令的文件名也是 sh ,他和 bash 運行結果也有區別,只是這個 sh 不一定在 /bin 裡面。

F. shell腳本編程之expect

Shell腳本編程中的重要工具——expect

expect是基於Tcl語言開發的自動化工具,專為處理互動式操作而設計。它能夠將諸如SSH登錄、FTP操作等交互過程編程化,極大地提升在多台伺服器上執行重復任務的效率。尤其在系統管理中,expect腳本的使用能簡化繁瑣的操作流程。

expect的核心在於其命令結構,包括單分支和多分支語法。單分支允許基於特定模式執行相應的動作,而多分支則根據多個條件靈活處理。對於進階開發者而言,理解並掌握這些語法是關鍵。

實戰中,expect的應用范圍廣泛,例如通過spawn啟動新進程,interact允許用戶交互,以及管理變數、處理位置參數和登錄後執行多個命令。甚至可以編寫shell腳本調用expect,以實現批量用戶在集群中的創建等復雜任務。

想要獲取更多PHP進階資料,如大廠面試題集、PHP框架、微服務架構、分布式架構和高並發場景的專業內容,可以通過關注公眾號「PHP開源社區」,或訪問相關資源鏈接,獲取2021年的面試真題精選和多年技術精華整理合集。

G. 如何讓php執行shell

php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼

例子:system("/usr/local/bin/webalizer/webalizer");

H. 利用shell腳本自動重啟php服務

首先你要設置好sudo 如果不用sudo用root用戶執行也可以
寫腳本很簡單的
下述兩行拷貝到伺服器的文本文件中
#!/bin/ksh
/data/webserver/php-5.2.17/sbin/php-fpm reload

如果沒有依賴庫或依賴環境變數,任何用戶只要有執行許可權就可以執行。

sudo可以配置為不輸入密碼的。
1) 首先需要切換到root, su - (注意有- ,這和su是不同的,在用命令"su"的時候只是切換到root,但沒有把root的環境變數傳過去,還是當前用乎的環境變數,用"su -"命令將環境變數也一起帶過去,就象和root登錄一樣)
2) 然後visudo 或者 vi /etc/sudoers, visudo 這個和vi的用法一樣,由於可能會有人不太熟悉vi,所以簡要說一下步驟
移動游標,到一行root ALL=(ALL) ALL的下一行,按a,進入append模式,輸入
your_user_name ALL=(ALL) ALL
然後按Esc,再輸入:w保存文件,再:q退出
這樣就把自己加入了sudo組,可以使用sudo命令了。
3) 默認5分鍾後剛才輸入的sodo密碼過期,下次sudo需要重新輸入密碼,如果覺得在sudo的時候輸入密碼麻煩,把剛才的輸入換成如下內容即可:
your_user_name ALL=(ALL) NOPASSWD: ALL
至於安全問題,對於一般個人用戶,我覺得這樣也可以的。
4)如果你想設置只有某些命令可以sudo的話,your_user_name ALL= (root) NOPASSWD: /sbin/mount, (root) NOPASSWD: /bin/umount, (root) NOPASSWD: /mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make, (root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD: /bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp, (root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod

使用sudo時, sudo su - 用戶名 就可以了

熱點內容
linux運行軟體 發布:2024-10-21 10:04:55 瀏覽:419
附件名稱編譯出錯 發布:2024-10-21 09:59:53 瀏覽:831
壓縮怎麼改建 發布:2024-10-21 09:59:50 瀏覽:540
c語言鍵盤輸入數組 發布:2024-10-21 09:50:22 瀏覽:759
600深的機櫃能放什麼伺服器 發布:2024-10-21 09:50:16 瀏覽:898
excellinux 發布:2024-10-21 09:42:01 瀏覽:550
圖片視頻功能在安卓手機哪裡找 發布:2024-10-21 09:41:22 瀏覽:803
加密牛津布 發布:2024-10-21 09:41:19 瀏覽:28
java的read 發布:2024-10-21 09:36:27 瀏覽:23
伺服器測試連接顯示異常怎麼辦 發布:2024-10-21 09:29:19 瀏覽:572