?php
system("pwd",$result);
print $result;//输出命令的结果状态码
?
关于第二个参数结果状态码的简单介绍:
如果返回0是运行成功 ,
在Bash中,当错误发生在致命信号时,bash会返回128+signal number做为返回值 。
如果找不到命令,将会返回127 。
如果命令找到了,但该命令是不可执行的,将返回126 。
除此以外,Bash本身会返回最後一个指令的返回值 。
若是执行中发生错误,将会返回一个非零的值 。
Fatal Signal : 128 + signo
Can't not find command : 127
Can't not execute : 126
Shell script successfully executed : return the last command exit status
Fatal during execution : return non-zero
3)passthru()
原型: void passthru ( string $command [, int $return_var ] )
说明: passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据 。第二个参数可?。亲刺?。
?php
header("Content-type:image/gif");
passthru("/usr/bin/ppm2tiff/usr/share/tk8.4/demos/images/teapot.ppm");
?
4)shell_exec()
原型: string shell_exec ( string $cmd )
说明: 直接执行命令$cmd
?php
$output = shell_exec('ls -lart');
echo "pre$output/pre";
?
方法二:反撇号
原型: 反撇号`(和~在同一个键)执行系统外部命令
说明: 在使用这种方法执行系统外部命令时 , 要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的 。
?php
echo `dir`;
?
方法三:用popen()函数打开进程
原型: resource popen ( string $command , string $mode )
说明: 能够和命令进行交互 。之前介绍的方法只能简单地执行命令,却不能与命令交互 。有时须向命令输入一些东西,如在增加系统用户时,要调用su来把当前用户换到root用户,而su命令必须要在命令行上输入root的密码 。这种情况下 , 用之前提到的方法显然是不行的 。
popen( )函数打开一个进程管道来执行给定的命令 , 返回一个文件句柄,可以对它读和写 。返回值和fopen()函数一样 , 返回一个文件指针 。除非使用的是单一的模式打开(读or写) , 否则必须使用pclose()函数关闭 。该指针可以被fgets(),fgetss(),fwrite()调用 。出错时,返回FALSE 。
?php
error_reporting(E_ALL);
/* Add redirection so we can get stderr. */
$handle = popen('/path/to/executable 21', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?
linux终端用户执行不了命令,需要配sudo 怎么配置配置sudo的配置文件在/etc/sudoers里面linux终端超时命令,一般通过visudo命令来安全打开编辑 。查看/etc/sudoers的用法可以使用命令:
man
5
sudoers 。在/etc/sudoers文件里面主要包括这两部分:
1.
别名设置
别名主要包括这几种:User_Alias,Host_Alias,Runas_Alias,Cmnd_Alias,分别是用户别名 , 主机别名,运行用户别名,命令别名 。设置这几个别名的命令主要是为linux终端超时命令了配置方便,这个很类似linux用户群组或是数据库中角色的作用 , 有linux终端超时命令了别名便可以批量的赋予权限 。
设置方法
Alias_Type
alias_name
=
name1,
name2,
name3,
例如User_Alias
User1
=
user1,
user2,
user3 。其他类型的alias设置方法类似 。
2.
真正的sudo
entry
这个就是真正配置哪些用户可以使用哪些命令了(你甚至可以不使用别名设置那部分) 。
推荐阅读
- typescript游戏开发,typescript可以开发什么
- 关注和绑定公众号的区别,关注公众号和注册是一回事吗
- 青蛙益智游戏的简单介绍
- ppt怎么显示符号,ppt中的符号在哪找
- mysql的分页怎么写 mysql分页的几种方式
- 查看用户命令linux,linux查看用户状态命令
- 净化下载,净化游戏
- html怎么在标签内定义,html标签怎么写
- mysql分类怎么做 明日青冈天气预报