mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-25 13:06:22 +00:00
46 lines
856 B
Markdown
46 lines
856 B
Markdown
|
---
|
||
|
id: 1aeeea82-1193-447d-95ae-4196175d6721
|
||
|
title: Console Signals
|
||
|
---
|
||
|
|
||
|
# Description
|
||
|
|
||
|
Symfony supports console signals[^1].
|
||
|
|
||
|
# Syntax
|
||
|
|
||
|
``` php
|
||
|
// ...
|
||
|
use Symfony\Component\Console\Command\SignalableCommandInterface;
|
||
|
|
||
|
class SignalCommand extends Command implements SignalableCommandInterface
|
||
|
{
|
||
|
// ...
|
||
|
|
||
|
protected function execute(InputInterface $input, OutputInterface $output): int
|
||
|
{
|
||
|
// ...
|
||
|
}
|
||
|
|
||
|
public function getSubscribedSignals(): array
|
||
|
{
|
||
|
// return here any of the constants defined by PCNTL extension
|
||
|
// https://www.php.net/manual/en/pcntl.constants.php
|
||
|
return [SIGINT, SIGTERM];
|
||
|
}
|
||
|
|
||
|
public function handleSignal(int $signal)
|
||
|
{
|
||
|
if (SIGINT === $signal) {
|
||
|
// ...
|
||
|
}
|
||
|
|
||
|
// ...
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
# Footnotes
|
||
|
|
||
|
[^1]: <https://en.wikipedia.org/wiki/Signal_(IPC)>
|