


How to get PHP script to run in the background and terminate the process via Enter?
Tips for getting PHP scripts to run in the background and terminate gracefully
This article discusses how to make PHP scripts run in the background and provides a more convenient termination method than ctrl c
, that is, end the process by pressing Enter. It should be noted that PHP itself is not a daemon manager, which is different from tools such as Workerman. Tools such as Workerman usually have built-in background operation and process management mechanisms. For ordinary PHP scripts, we need to use system commands and some skills.
First, suppose we have a PHP script called s.php
, with its core loop as follows:
<?php cli_set_process_title('queue-server'); while (true) { // ...Your business logic... }
Running php s.php
directly will cause the script to run in the terminal foreground. To make it run in the background and be able to terminate with the Enter key, we can use the following method:
Method 1: Combining nohup
and screen
or tmux
The nohup
command can ignore the hangup signal and make the script continue to run in the background. But it lacks a convenient termination mechanism. screen
or tmux
is a terminal multiplexer that allows you to work in multiple terminal sessions and can easily manage background processes.
-
Start the script using
screen
ortmux
:screen -dmS queue-server nohup php s.php 2>&1 &
Copy after loginThis line of command will start a
screen
session calledqueue-server
in the background and runnohup php s.php 2>&1 &
in it.-dmS
parameters represent separation mode, display name and create session respectively.2>&1
redirects the standard error to the standard output. -
Terminate script:
a. Use
screen -r queue-server
to reconnect to thequeue-server
session. b. PressCtrl a
in the session and then pressk
(orCtrl c
) to terminate the process.The usage method of
tmux
is similar, except that the commands are slightly different, please refer to the documentation oftmux
.
Method 2: Use PHP's pcntl
extension (more advanced, you need to understand process management)
PHP's pcntl
extension provides process control functions, allowing more granular process management to be implemented inside PHP scripts. This requires more in-depth programming knowledge, but allows for more flexible control. Here is a simple example that listens for standard input and terminates the process when the Enter key is received:
<?php cli_set_process_title('queue-server'); $stdin = fopen('php://stdin', 'r'); declare(ticks=1); register_tick_function(function() use ($stdin){ $line = fgets($stdin); if ($line !== false && trim($line) === "") { exit(0); } }); while (true) { // ...Your business logic... usleep(100000); // Avoid excessive CPU usage}
This script listens to standard input and ends the process when a blank line (Enter key) is detected. It should be noted that pcntl
extension needs to be enabled during PHP installation.
Which method to choose depends on your needs and skill level. For simple background operation and termination, Method 1 is simpler and easier to use; while Method 2 provides more granular control, but requires a deeper understanding. Remember, no matter which method, exceptions and errors of scripts should be properly handled to ensure the stability and reliability of the scripts.
The above is the detailed content of How to get PHP script to run in the background and terminate the process via Enter?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Recommended apps on top ten digital currency exchanges: 1. OKX, 2. Binance, 3. gate.io, 4. Huobi, 5. Coinbase, 6. KuCoin, 7. Kraken, 8. Bitfinex, 9. Bybit, 10. Bitstamp, these apps provide real-time market trends, technical analysis and price reminders to help users monitor market dynamics in real time and make informed investment decisions.

The reliable and easy-to-use virtual currency exchange apps are: 1. Binance, 2. OKX, 3. Gate.io, 4. Coinbase, 5. Kraken, 6. Huobi Global, 7. Bitfinex, 8. KuCoin, 9. Bittrex, 10. Poloniex. These platforms were selected as the best for their transaction volume, user experience and security, and all offer registration, verification, deposit, withdrawal and transaction operations.

The top ten digital virtual currency apps are: 1. OKX, 2. Binance, 3. gate.io, 4. Coinbase, 5. Kraken, 6. Huobi, 7. KuCoin, 8. Bitfinex, 9. Bitstamp, 10. Poloniex. These exchanges are selected based on factors such as transaction volume, user experience and security, and all provide a variety of digital currency trading services and an efficient trading experience.

Recommended apps for the top ten virtual currency viewing platforms: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi, 5. Coinbase, 6. Kraken, 7. Bitfinex, 8. KuCoin, 9. Bybit, 10. Bitstamp, these platforms provide real-time market trends, technical analysis tools and user-friendly interfaces to help investors make effective market analysis and trading decisions.

Top 10 virtual currency app exchanges: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi, 5. Coinbase, 6. Kraken, 7. Bitfinex, 8. KuCoin, 9. Bybit, 10. Bitstamp, these platforms provide real-time market trends, technical analysis tools and user-friendly interfaces to help investors conduct effective market analysis and trading decisions.

The top ten digital currency exchanges are: 1. OKX, 2. Binance, 3. gate.io, 4. Coinbase, 5. Kraken, 6. Huobi, 7. KuCoin, 8. Bitfinex, 9. Bitstamp, 10. Poloniex. These exchanges are selected based on factors such as transaction volume, user experience and security, and all provide a variety of digital currency trading services and an efficient trading experience.

Top 10 global virtual currency exchanges rankings: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi, 5. Coinbase, 6. Kraken, 7. Bitfinex, 8. KuCoin, 9. Bybit, 10. Bitstamp, these platforms provide real-time market trends, technical analysis tools and user-friendly interfaces to help investors conduct effective market analysis and trading decisions.

Top 10 digital currency trading app platforms: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi, 5. Coinbase, 6. Kraken, 7. Bitfinex, 8. KuCoin, 9. Bybit, 10. Bitstamp, these platforms provide real-time market trends, technical analysis tools and user-friendly interfaces to help investors conduct effective market analysis and trading decisions.
