Linux
at 命令生成的環境變數
在使用 PHP執行命令後,我正在
/var/spool/cron/atjobs/a001cf01570e44
使用.cat``at``exec()
看起來
at
在腳本前面添加了很多 APACHE 環境變數。#!/bin/sh # atrun uid=33 gid=33 # mail www-data 0 umask 22 APACHE_RUN_DIR=/var/run/apache2; export APACHE_RUN_DIR APACHE_PID_FILE=/var/run/apache2.pid; export APACHE_PID_FILE PATH=/usr/local/bin:/usr/bin:/bin; export PATH APACHE_LOCK_DIR=/var/lock/apache2; export APACHE_LOCK_DIR LANG=C; export LANG APACHE_RUN_USER=www-data; export APACHE_RUN_USER APACHE_RUN_GROUP=www-data; export APACHE_RUN_GROUP APACHE_LOG_DIR=/var/log/apache2; export APACHE_LOG_DIR PWD=/home/jordanarseno/webroot/public_html/myapp; export PWD cd /home/jordanarseno/webroot/public\_html/myapp || { echo 'Execution directory inaccessible' >&2 exit 1 } curl -k http://localhost/myapp/crons/this_action/3
最後一行是我通過標準輸入發送的唯一真正的命令
at
。這些變數的目的是什麼?這個過程儲存在哪裡?
當您呼叫該
at
命令時,它會複製目前環境,這就是您所看到的。工作目錄、環境(變數 TERM、DISPLAY 和 _ 除外)和 umask 從呼叫時起保留。
您正在
at
通過 apache 在 php 腳本中執行,因此您在腳本中看到的是 apache 正在執行的環境等。