swoole_set_process_name

用于设置进程的名称。修改进程名称后,通过ps命令看到的将不再是php your_file.php。而是设定的字符串。 此函数接受一个字符串参数。 此函数与PHP5.5提供的cli_set_process_title功能是相同的。但swoole_set_process_name可用于PHP5.2之上的任意版本。swoole_set_process_name兼容性比cli_set_process_title要差,如果存在cli_set_process_title函数则优先使用cli_set_process_title。

void swoole_set_process_name(string $name);

示例代码:

swoole_set_process_name("swoole server");
var_dump($argv);
sleep(1000);

swoole_set_process_name在1.6.3版本提供
在onStart回调中执行此函数,将修改主进程的名称。在onWorkerStart中调用将修改worker子进程的名称。

如何为Swoole Server重命名各个进程名称

  • 在swoole_server_create之前修改为manager进程名称
  • onStart调用时修改为主进程名称
  • onWorkerStart修改为worker进程名称

1.6.12后增加了onManagerStart事件回调,可以在这里设置管理进程的名称
低版本Linux内核和Mac OSX不支持进程重命名



  • Blue

    在Ubuntu 14.04 64位版本中swoole_set_process_name无法重命名,但是cli_set_process_title可以. 附上具体信息: Distributor ID: Ubuntu Description: Ubuntu 14.04 LTS Release: 14.04 Codename: trusty 内核版本:3.13.0-29-generic php版本:PHP 5.5.9-1ubuntu4 (cli) (built: Apr 9 2014 17:11:57) swoole版本:swoole-1.7.2-stable

  • Pader

    FreeBSD 10.0 PHP 5.4.33 无法重命名

  • 创意表白

    mac OSX 下warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly

  • 大眼猫

    我也遇到了,PHP 5.5.27, OS:Capitan, Swoole 1.7.20

  • 孙德彪

    如何解决呢? 我的是5.6.17, swoole 1.8

  • 咸鱼

    没有解决

  • 孙德彪

    那你后来用这个聊天工具了吗?

  • 风继续吹

    我也遇到这种问题,不知道如何解决 Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly in /data/www/swoole/app/zphp/ZPHP/Socket/Callback/Swoole.php on line 29

  • 月半文一刀

    可以用中文么,哈哈

  • Laragh

    image