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 ... 
随机推荐
- Centos编译Hadoop 2.x 源码
			1. 前言 Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下 ... 
- redis基础之python连接redis(五)
			前言 前面介绍了在数据库命令行直接操作redis,现在学习使用python的redis包来操作redis,本人安装的是redis==2.10.6: 系列文章 redis安装和配置 redis命令行操作 ... 
- 在 Linux 上使用 Nginx 和 Gunicorn 托管 Django 应用
			介绍 托管 Django Web 应用程序相当简单,虽然它比标准的 PHP 应用程序更复杂一些. 让 Web 服务器对接 Django 的方法有很多. Gunicorn 就是其中最简单的一个. Gun ... 
- Oracle数据库操作类及连接方法
			创建DataBaseAccess引用库下面包括DBConnectionString.cs,DBType.cs ,SysName.cs 三个类 DBConnectionString: using Sys ... 
- 异常处理:1215 - Cannot add foreign key constraint
			最近在做新生入学系统,学生表中包括新生的班级,专业等信息,班级,专业就需要和班级表,专业表进行关联,但是在添加外键的过程中却出现了“Cannot add foreign key constraint” ... 
- 你会用AngularJS,但你会写AngularJS文档么?
			你会用AngularJS,但你会写AngularJS文档么? 涉及知识:gulp javascript 我们经常在写代码的时候要求写好注释,方便日后维护.但其实注释还有一个重要的用途:生成API文档. ... 
- 深入理解Eureka - Eureka Client获取注册信息机制
			深入理解Eureka - Eureka Client获取注册信息机 Eureka Client提供了定时获取注册信息的机制.Eureka Client获取注册信息的所有逻辑都在DiscoveryCli ... 
- 【iOS】TableView的footerView不随cell滚动而停留在tableView底部的问题
			苹果官方给我提供TableView的FooterView和HeaderView停留在顶部的非常不错效果,有时候我们不须要这些FooterView和HeaderView停留在底部或者上部,如今就以Foo ... 
- 【Unity笔记】UGUI物体的渲染顺序
			①不同Camera的Depth.(大在前,小在后)②同Camera的SortingLayer.(下在前,上在后)③同SortingLayer下的Order in Layer.(大在前,小在后)④同Or ... 
- 【WPF】MVVM动态修改Bingding的另一种思路——用Style样式
			问题场景: 界面上有个ListBox控件,它的内容Item绑定了一个列表,即 ItemsSource =”{Binding StudentList}”.这个StudentList列表在该界面View对 ... 
