Server IP : 127.0.0.2 / Your IP : 3.148.182.104 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/bin/X11/ |
Upload File : |
#!/bin/sh # # Returns 0 (true) if on AC power # 1 (false) if not on AC power # 255 (false) if can't tell # # Example shell script: # if on_ac_power; then # echo We're on AC power # else # echo Can't say we're on AC power # fi set -e # sysfs # # This algorithm is complicated by the possibility of multiple AC # adapters. We scan the ac_adapter/power_supply directory looking for adapters # that have known states. If any adapter is on-line, we return 0. If # no adapters are on-line but one or more are off-line, we return 1. # OFF_LINE_P=no if [ -d /sys/class/power_supply/ ]; then for FN in /sys/class/power_supply/*; do if test -d "${FN}" && test -r "${FN}/type"; then type="$(cat ${FN}/type)" if test "x${type}" = "xMains"; then if [ -r "${FN}/online" ]; then online="$(cat ${FN}/online)" [ "$online" = 1 ] && exit 0 [ "$online" = 0 ] && OFF_LINE_P=yes fi fi fi done [ "${OFF_LINE_P}" = "yes" ] && exit 1 fi # ACPI # same algorithm as above, a fallback only when the generic sysfs interface # is not available (old kernels only) if /sbin/acpi_available && [ -d /proc/acpi/ac_adapter ]; then for FN in /proc/acpi/ac_adapter/*; do if [ -d "${FN}" ]; then if [ -r "${FN}/state" ]; then grep --quiet on-line "${FN}/state" && exit 0 grep --quiet off-line "${FN}/state" && OFF_LINE_P=yes elif [ -r "${FN}/status" ]; then grep --quiet on-line "${FN}/status" && exit 0 grep --quiet off-line "${FN}/status" && OFF_LINE_P=yes fi fi done [ "${OFF_LINE_P}" = "yes" ] && exit 1 fi # PMU if [ -r /proc/pmu/info ]; then exec awk </proc/pmu/info ' BEGIN { FS=":"; ret = 255 } /^AC Power.*1$/ { ret = 0; exit } /^AC Power.*0$/ { ac = 1 } /^Battery.*/ { if ($2 ~/0/ && ac == 1) ret = 0 else ret = 1 exit } END { exit ret } ' fi # APM if [ -r /proc/apm ] && /sbin/apm_available; then exec awk </proc/apm ' BEGIN { ret = 255 } /^[0-9.a-zA-Z]* [0-9.]* 0x.. 0x../ { if ($4 == "0x01") { ret = 0; exit } else if ($4 == "0x00") { ret = 1; exit } } END { exit ret } ' fi # nothing is available exit 255