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 回车搞定,但不建议,因为这样等于所有用户都有重启权限了。

时间: 2024-11-23 17:32:46

php -- 实现linux关机、重启功能的相关文章

Linux 关机重启流程分析

linux下的关机和重启流程对于一般的桌面应用和网络服务器来说并不重要,但是在用户自己定义的嵌入式系统内核中就有一定的研究意义,通过了解Linux 关机重启的流程,我们对它可以修改和自定义,甚至以此为基础开发出全新的功能来. 1.概述 在linux下的关机和重启可能由两种行为引发,一是通过用户编程,一是系统自己产生的消息.用户和系统进行交互的方式也有两个,一个是系统调用:sys_reboot,另一个就是apm或则acpi的设备文件,通过对其操作也可以使系统关机或者重启. #FormatImgID

linux关机重启命令浅析

linux关机重启命令 今天我们来介绍下linux系统中常用到的关机重启命令—shutdown.halt.reboot.poweroff以及init. shutdown命令 以安全的方式关闭系统或重启系统.它在系统关闭之前给系统上的所有登录用户提示一条警告信息.该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段. 命令格式 shutdown [OPTION]... TIME [MESSAGE] time 参数的格式可以有很多种.首先,可以是 hh:mm 格式的

linux关机重启五种方法(sysrq shutdown halt init ipmi)

linux关机重启五种方法(sysrq shutdown halt init) 当前版本 cat /etc/debian_version 5.0.1 一.linux关机命令(前三种) 1.shutdown -h now(-h:halt after shutdown.) halt init 0 2.linux重启命令 shutdown -r(-r:reboot after shutdown.) reboot init 6 二.特殊情况重启和关机(能ping通 上述命令无法使用情况下 也就是系统挂起

linux关机重启指令

linux系统关机重启常用指令: 1)将数据同步写入硬盘中的指令: sync 2) 惯用的关机指令: shutdown 3) 重新启动,关机: reboot, halt , poweroff 下面详细介绍一下上述指令的作用: sync: 所有的数据都得要被读入内存后才能够被 CPU 所处理,但是数据又常常需要由内存写回硬盘当中(例如储存的劢作). 由亍硬盘的速度太慢(相对亍内存来说),如果常常让数据在内存不硬盘中来回写入/读出,系统的效能就丌会太好.因此在 Linux 系统中,为了加忚数据的读取

Linux 关机/重启/注销命令

关机 shutdown -h 0       #<==O秒后关机 shutdown -h now     #<==现在关机 shutdown -h 10      #<==10分钟后关机 shutdown -h 23:20   #<==23:20分关机  shutdown -c         #<==取消shutdown关机命令 init 0              #<==立马关机(切换运行级别为0,推荐使用) halt                #<=

Linux系统裁减之,制作一个极度精简的Linux-3-为精简的系统增加网络功能和关机重启功能

第3章 为精简的Linux系统增加网络功能和开关机功 在阅读这篇博文之前,建议先阅读我的上两篇博文,而且最好按顺序阅读:(不然可能会觉得我写得不知所云,呵呵!) 第1篇:Linux系统裁减之,制作一个极度精简的Linux-1http://blog.51cto.com/linuxprince/2045703 第2篇:Linux系统裁减之,制作一个极度精简的Linux-2-用脚本实现自动拷贝命令和依赖库文件http://blog.51cto.com/linuxprince/2046142 3.1 为

linux 关机/重启命令总结

linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下linux下比较常用的一些关机命令 关机命令: 1.halt   立刻关机 2.poweroff  立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -

Linux关机重启命令

使用shutdown命令,参数如下: - k => 不执行任何关机操作,只发出警告信息给所有用户 - r => 重新启动计算机 - h => 关机并彻底断电 - f => 快速关机且重启动时跳过fsck - n => 快速关机不经过init程序 - c => 取消之前的定时关机 使用方法如下: 立即关机:sudo shutdown -h now 立即重启:sudo shutdown -r now 扩展方法: 10分钟后关机:sudo shutdown -h +10 在1

linux 关机重启命令

shutdown命令 shutdown [选项] 时间 -c  :  取消前一个关机命令 -h  :  关机 -r  :  重启 halt 命令 poweroff命令 init 0命令 reboot命令 init 6命令 logout命令退出命令