我正在编写一个 lsb init 脚本(不可否认,我从未从头开始做过)它启动了一个守护进程的 php 脚本。php 脚本是这样开始的:
#!/usr/bin/env php
<?php
/* do some stuff */
Run Code Online (Sandbox Code Playgroud)
然后在 init 脚本中像这样启动:
# first line is args to start-stop-daemon, second line is args to php-script
start-stop-daemon --start --exec /path/to/executable/php-script.php \
-- --daemon --pid-file=$PIDFILE --other-php-script-args
Run Code Online (Sandbox Code Playgroud)
该--daemon
标志导致 php 脚本分离并作为守护程序本身运行,而不是依赖于start-stop-daemon
分离它。
这就是它(试图)在 init 脚本中停止它的方式:
start-stop-daemon --stop --oknodo --exec /path/to/executable/php-script.php \
--pidfile $PIDFILE
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试通过 init 脚本停止时,它给了我这个:
$ sudo /etc/init.d/my-lsb-init-script stop
* Stopping My Project
No /path/to/executable/php-script.php found running; none killed.
...done.
Run Code Online (Sandbox Code Playgroud)
快速浏览一下ps
告诉我,尽管 php …
我在负载平衡器后面有一组 linux apache 1.3 服务器,我希望能够一目了然地确定我正在访问哪个服务器。负载平衡器的监控能力受到严重限制,所以我想做的是配置 apache 以发送一个额外的标头,指示机器的主机名。
我知道我可以使用主机名将标头硬编码到 httpd.conf 中:
Header set X-Which-Host-Am-I 'host1'
Run Code Online (Sandbox Code Playgroud)
但是,所有有问题的服务器都使用 rsync 进行了镜像,包括配置,因此对主机名进行硬编码已经过时了。有没有办法可以调用hostname
命令并将其转储到标题中?
说明:由于多个虚拟主机位于这些服务器上,我需要物理机的主机名,而不是请求中的域名。