php -- 实现linux关机、重启功能
有时候,我们自己可以DIY一个控制面板实现linux的关机重启功能。众所周知,linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点
一、知道命令的绝对路径
在linux下操作的时候,我们们直接敲入命令即可。但用PHP执行linux命令就不能这么操作了,需要知道命令的绝对路径。
重启命令reboot绝对路径/sbin/reboot
关机命令shutdown绝对路径/sbin/shutdown
二、用PHP执行linux命令
有许多函数,之前我有些过博文介绍。这里推荐使用exec函数。
<?php
/**
* php执行linux命令
*/ // 返回命令执行结果,注意命令要写绝对路径
exec('/sbin/reboot');
三、给重启命令添加权限
linux的权限表现的非常细腻,默认reboot权限只能root拥有,想要php执行关机只能给reboot命令相应权限
方式一:把nginx/apache的操作组加入一个管理组,比如web。然后把reboot加入管理组,给g加x命令
方式二:直接chmod 4777 /sbin/reboot 回车搞定,但不建议,因为这样等于所有用户都有重启权限了。
php -- 实现linux关机、重启功能的更多相关文章
- linux关机重启命令浅析
linux关机重启命令 今天我们来介绍下linux系统中常用到的关机重启命令—shutdown.halt.reboot.poweroff以及init. shutdown命令 以安全的方式关闭系统或重启 ...
- Linux关机重启注销(3)
1.关机重启 shutdown shutdown -h now :立即关机 shutdown -h 1 now :一分钟后关机 shutdown -r now :立即重启 halt:关机 reboot ...
- Linux关机/重启/用户切换/注销
目录 1. 关机/重启命令 2. 用户切换/注销 2.1 基本说明 2.2 切换用户 2.3 注销用户 1. 关机/重启命令 # shutdown命令 shutdown -h now # 立即关机 s ...
- Linux关机重启指令
关机: init 0 [使用Linux的运行级别] halt poweroff shutdown -h [系统会发出广播信息,显示即将关机时间] shutdown -c [取消关机计划] 重启: r ...
- linux 关机/重启命令总结
linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...
- Linux 关机/重启命令
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definiti ...
- linux 关机重启命令
1 shutdown 关机 shutdown -h now 立刻重启 -c 取消前面的一个关机命令 shutdown -c shotdown -r now 尽量使用shutdown 其余的关机命令 h ...
- Linux关机&重启命令
⒈shutdown ①shutdown -h now 立即关机 ②shutdown -h 1 1分钟后关机 ③shutdown -r now 立即重启 ⒉halt 立即关机 ⒊reboot 立即重启 ...
- 第3章 Linux常用命令(6)_关机重启命令
8. 关机重启命令 8.1 关机重启命令 (1)shutdown [选项] 时间 ①选项 -c:取消前一个关机命令 -h:关机 -r:重启 ②应用举例:#shutdown –h now.shu ...
随机推荐
- Math.Celing、Math.Floor、Math.DivRem与Math.BigMul
返回大于或等于指定数字的最小整数.例如: double a=Math.Celing(0.00); //0 double a=Math.Celing(0.40); //1 double a=Math ...
- 漂亮的Qt控件 QSS代码例子
Qt Style Sheets Examples We will now see a few examples to get started with using Qt Style Sheets. S ...
- 巧用tail查看软件的安装进程
我在使用perlbrew安装perl的时候,学到的一招,呵呵. 有时候,安装软件的时候,特别是手动安装的时候,没有什么提示信息,只能干等着,其实,可以使用tail命令来跟踪安装日志的尾部,来观察安装的 ...
- Ruby的DevKit名词解释
为了加快运行速度,Ruby下好多扩展包都是用C语言写的二进制包,如果我们要安装就要重新编译,DevKit包主要就是将编译用的工具链打包,解决了众多依赖问题,方便了群众. 但是,在实际安装中,可能还会遇 ...
- mybatis 一二事(2) - 动态代理
db.properties 单独提取出来的数据库配置,方便以后维护管理 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhos ...
- 普通用户su 到root,无需密码方式,及iptables封掉本机某个端口,core文件配置
一. 普通用户su到root无需密码: 随着服务器越来越多,普通用户转到root下,去查密码表是个很繁琐的事,发现有如下方式比较方便(需要root操作) vi /etc/pam.d/su 将 aut ...
- %02x和%2x区别
%02x (x代表以十六进制形式输出,02代表不足两位,前面补0输出,如果超过两位,则以实际输出) 例: #include <stdio.h> #include <stdint.h ...
- 一个activity
package com.example.administrator.Activity; import android.content.Context;import android.content.In ...
- 一款基于jquery和css3的响应式二级导航菜单
今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览 源码下载 实现的代码. ...
- 友盟分享和cocos2dx符合重复duplicate symbol 解决方案
最近使用友盟分享的sdk,没想到libWechatSDK.a居然和cocos2dx的符合冲突,提示base64.o重复了. 于是到网上找了一下解决方案,基本上去除微信的base64.o即可了. 用ar ...