這個問題不是菜鳥問題。
shell是相對於kernel來說的,可以認為是用戶對系統的操作介面(界面)。現在的shell有csh、bash、sh等。
tty可以認為是字元終端,用戶在終端,通過輸入命令來操作系統。接收輸入並進行解析的程序就是shell。
2. linux下php作為shell腳本編寫有什麼好處本
那是當做後台程序來運行的,好處就是比在apache上執行效率要高,寫些小程序還是可以的。如果作為常駐進程php就不穩定了,容易死。這方面perl 和python 才是王道...
3. 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
4. 如何在linux控制台運行php程序,就像運行shell腳本一樣
如果只是單獨測試一個PHP文件,可以不用建立站點,不用配置apache的虛擬配置文件,使用php的命令行模式可以直接調式:
如測試:/home/usrname/mysite/test.php
<?php
function greeting(){
print "this page is writen in the Vi!";
echo "<br/>";
echo "another web page!";
echo "<br/>";
print "this is edited by Vim!";
echo "<br/>";
}
greeting();
?>
可以使用下列命令:
php -f /home/usrname/mysite/test.php
可以在終端下看到類似的輸出:
this page is writen in the Vi!<br/>another web page!<br/>this is edited by Vim!<br/>
5. linux如何用shell運行一個php腳本
在 Linux 下執行 php 腳本時通常是使用以下命令(視php安裝路徑而定):
/usr/local/php/bin/phptest.php
另外,為簡化輸入可把此php執行程序 到系統命令目錄下:
cp/usr/local/php/bin/php/usr/sbin/
驗證:輸入以下命令,如正確獲取 php 版本,說明操作成功。
php-v
參考:
http://www.360doc.com/content/10/1124/15/4330887_72030254.shtml
6. php如何執行shell腳本
我這邊很少用PHP操作linux系統,因為默認是沒有許可權的,可是我不想去修改許可權。
我變了個法子,用PHP操作指定文件,然後用定時任務運行shell腳本,獲取指定文件裡面的任務ID,執行對應的操作,然後能滿足我的需求了。
7. 如何通過php頁面執行shell腳本
exec裡面,a.bash前面有sh這個bin文件么,就把bin文件路勁加在a.sh前。try下
8. 如何使用Linux的Crontab執行PHP腳本
Linux中crontab是實現定時執行的指令,利用這個指令我們就可以定時執行某一個php文件,從而實現用PHP做Linux自動執行腳本。
如何用PHP作Linux自動執行腳本?
在安裝PHP的時候,會產生一個可執行文件,文件名為php.將它 到 /usr/local/bin 下.在終端方式執行php程序:
php -q onlinnum.php
PHP 原本是應用在網頁應用的﹐因此它會送出 HTML 的HEADER﹐但是在此我們是要將 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思.你可以試試看不加上 -q 的顯示結果。此時你已經可以在終端方式下執行PHP 代碼了。 linux命令:cron daemon
這是一個系統中常駐的服務,功能在於執行例行性的工作,如每天一次或每月一 次檢查磁碟。cron daemon 會在每分鍾檢查一次排定的工作表(crontab),看看是否有要執行的指令,所有的輸出會以mail寄給用戶。
設置 crontab
命令:crontab -e
該命令呼叫vi編輯器來編輯執行的清單。例如
0 0 1,15 * * fsck /home
1 * * * * /home/myhome/printhello
每一行代表一項排定的工作,在指令前為排定的時間,總共有5個欄位,以空格間隔,由左到右依序如下:
--------------------------
分鍾 從00到 99
點鍾 從0到 24
日 從01到31
月 從01到12
星期 從01到07,代表星期一到星期日
*號表示"每" ,如每天執行,就在第三欄填*號
--------------------------
所以上例的兩項工作是:
每月1號和15號檢查/home 磁碟
每小時的第一分執行 /home/myhome/printhello 這個文件
查看crontab:crontab -l
刪除crontab:crontab -r
我們就知道該怎麼利用PHP和crontab命令作Linux自動執行腳本了。
還需要注意什麼問題?
如果php中有使用資料庫,如oracle等,執行腳本中還需export Oracle的環境設置。因為cron下的腳本執行的用戶都是在沒登陸狀態下執行的,少了很多系統里設置的環境變數的值,在連接資料庫的時候會出問題。
9. linux shell腳本編程什麼意思
shell腳本編程,你可以想像成自動化處理,只要你將套路都設定好,他就會自動工作。
比如,你設定了
1、早上8點保存並分析昨天保存的系統有沒有出錯;
2、接著監測系統每隔一個時間段的CPU運行率,若連續幾次都是98%~100%,就發信息到你手機上讓你查看。
就這么簡單···
10. 如何讓php執行shell
php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。
相同點:都可以獲得命令執行的狀態碼
例子:system("/usr/local/bin/webalizer/webalizer");