这个问题不是菜鸟问题。
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");