前提,是centos7,或ubuntu对应版本。
以前需要 supervisord 来执行php程序,作为守护进程。
现在linux系统升级,就更简单了。
方法,假设当前目录
/var/www/testbean
php代码
进入这个目录,写echo.php
<?php
// 这个程序的功能就是不停输入日志到日志文件。
while(true) {
usleep(500000);
$filename = __DIR__ . '/1.log';
file_put_contents($filename, time()."\n", FILE_APPEND );
}
systemd配置文件
vim /etc/systemd/system/phpbean.service
[Unit]
Description=php daemon for beanstalkd
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/bin/php /var/www/testbean/echo.php
[Install]
WantedBy=multi-user.target
User字段请看情况修改。
ExecStart字段改成自己的php文件。
其余字段可以参考阮一峰《Systemd 入门教程:命令篇》
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
的确
非常非常简单。
编写此配置之后,
先
systemctl daemon-reload
让系统重新读取配置文件
然后,当你执行
systemctl start phpbean
的时候,就会发现日志文件不停增加内容。
systemctl stop phpbean
会发现日志文件停止增长
phpbean这个名字是自己随便定义的。
在事实上,php守护进程主要用来
处理队列。
妈妈再也不用担心我没有好用的 php 守护进程了!
分享到:
相关推荐
2. **改变工作目录**:守护进程会将其工作目录更改为根目录 `/`,以避免锁定特定目录。 3. **关闭标准输入、输出和错误流**:守护进程关闭标准输入、输出和错误流,避免与终端相关联,通常重定向到 `/dev/null`。 ...
这些无休止的运行命令非常容易用Upstart或systemd之类的东西来守护。我为什么需要这个? 因为您想创建长期运行PHP / Symfony进程! 例如,发送带有大型附件的邮件,处理(延迟)付款或生成大型PDF报告。 他们查询...
这就是所谓的"PHP守护进程"。 首先,我们来看b.php脚本。b.php的主要任务是持续运行并保持其进程ID的更新。它接收一个命令行参数$id$,这个参数通常是在启动b.php时由a.php传递的。b.php使用`getmypid()`函数获取...
10. daemonize:是否以守护进程方式运行php-fpm,默认为yes,no可用于调试。 11. rlimit_files:设置master进程可以打开的文件数。 12. rlimit_core:设置master进程的核心rlimit限制值。 13. events.mechanism:...
- 为了让程序在无人值守的情况下持续运行,可能需要设计为守护进程(daemon)或者使用如`nohup`、`screen`或`systemd`服务来保持程序的后台运行状态。 6. **错误处理与日志记录**: - 抓取过程中可能会遇到网络...
7. 系统启动和服务管理:了解系统启动过程,包括BIOS/UEFI启动、GRUB引导加载器,以及服务和守护进程的概念,如何使用systemd、sysvinit等系统和服务管理工具。 8. 网络配置与故障排除:网络配置是服务器管理的关键...
2. 守护进程:理解什么是守护进程(daemon),如何通过`nohup`或`&`在后台运行程序。 七、Linux习题与模拟试题 通过习题和模拟试题,我们可以巩固所学知识,检查自己的理解程度,并提高实际操作能力。题目可能涵盖...
8. **守护进程化和自启动**: 为了使Redis在系统启动时自动启动,你可以将Redis服务添加到系统服务管理中(如Systemd)。创建一个名为`redis.service`的文件到`/etc/systemd/system/`目录,并添加相应的配置。然后...
`ssh`命令用于连接到远程主机,`sshd`服务则是接受SSH连接的守护进程。通过`expect`命令,可以自动化SSH登录过程,避免手动输入密码。同时,了解如何在Linux下安装SSH,使用`scp`命令进行文件传输,以及如何远程执行...
7. 安装软件:通过yum命令安装Nagios所需的软件包,这些软件包括PHP、HTTPD、GCC、Glib、C库、公共守护进程、开发库和Perl等。 二、Nagios配置: 1. Nagios服务配置文件通常位于/etc/nagios/nagios.cfg,包括了对...
-d # 以守护进程方式运行 ``` 4. **启动与管理** 通过以下命令启动 Memcached 服务: ```bash sudo /usr/local/bin/memcached -c /etc/memcached.conf ``` 若要使 Memcached 在系统启动时自动运行,可以...
4. **服务管理**:Linux中的服务(或称守护进程)是后台运行的程序,负责提供持续的服务,如网络服务。Systemd是现代Linux系统广泛采用的服务管理系统,用于启动、停止和控制服务。了解如何使用systemctl命令来管理...
- **重新启动NSCA守护进程和nagios**:重启服务确保配置生效。 - **NSCA客户端和服务端界面**:查看NSCA客户端和服务端的监控状态。 #### 13. Cacti的安装 - **安装mysql、php、rrdtool、snmp**:这些是Cacti运行...
系统管理守护进程 systemd 或 upstart # Install agent in /var/cronus with default ssl cert and no password wget -qO- ' http://cronuspaas.github.io/downloads/install_agent ' | sudo dev=true bash # ...
`cron`是一个服务,`crond`是运行在后台的守护进程,而`crontab`则用于设置和管理用户自定义的定时任务列表。在Linux中,每个用户都有自己的crontab文件,存储在 `/var/spool/cron/用户名` 目录下。 要创建一个新的...