{"id":23842378,"url":"https://github.com/php-toolkit/sys-utils","last_synced_at":"2025-09-07T18:32:00.599Z","repository":{"id":57071749,"uuid":"119487618","full_name":"php-toolkit/sys-utils","owner":"php-toolkit","description":"Useful system helper tool library for PHP","archived":false,"fork":false,"pushed_at":"2025-04-19T14:29:05.000Z","size":109,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T18:32:15.077Z","etag":null,"topics":["process","run-commands","system-env","system-utility"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php-toolkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-01-30T05:34:18.000Z","updated_at":"2025-04-19T14:26:17.000Z","dependencies_parsed_at":"2023-01-23T09:16:07.625Z","dependency_job_id":"470d010b-2d07-4d60-8b25-d61ef27bed54","html_url":"https://github.com/php-toolkit/sys-utils","commit_stats":{"total_commits":67,"total_committers":1,"mean_commits":67.0,"dds":0.0,"last_synced_commit":"e9fd416502c34d4cf7014693c2bb87cc7e048817"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/php-toolkit/sys-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-toolkit%2Fsys-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-toolkit%2Fsys-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-toolkit%2Fsys-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-toolkit%2Fsys-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php-toolkit","download_url":"https://codeload.github.com/php-toolkit/sys-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-toolkit%2Fsys-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274078553,"owners_count":25218699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["process","run-commands","system-env","system-utility"],"created_at":"2025-01-02T18:38:21.779Z","updated_at":"2025-09-07T18:32:00.588Z","avatar_url":"https://github.com/php-toolkit.png","language":"PHP","readme":"# System Utils\n\n[![License](https://img.shields.io/packagist/l/toolkit/sys-utils.svg?style=flat-square)](LICENSE)\n[![Php Version Support](https://img.shields.io/packagist/php-v/toolkit/sys-utils)](https://packagist.org/packages/toolkit/sys-utils)\n[![Latest Stable Version](http://img.shields.io/packagist/v/toolkit/sys-utils.svg)](https://packagist.org/packages/toolkit/sys-utils)\n[![Unit-Tests](https://github.com/php-toolkit/sys-utils/actions/workflows/php.yml/badge.svg)](https://github.com/php-toolkit/sys-utils/actions)\n\nSome useful system utils for php\n\n- exec system command\n- simple process usage\n- php env info\n- error and exception info\n\n## Install\n\n```bash\ncomposer require toolkit/sys-utils\n```\n\n## Usage\n\n### ProcTasks\n\n**Example**:\n\n```php\nuse Toolkit\\Sys\\Proc\\ProcTasks;\n\n// ProcTasks::new() // will auto get cpu num as proc num\nProcTasks::new(['procNum' =\u003e 2])\n    -\u003esetTaskHandler(function (array $task, array $ctx) {\n        $pid = $ctx['pid'];\n        println(\"worker#{$ctx['id']} [PID:$pid] - handle task, task data\", $task);\n        sleep(random_int(1, 3));\n    })\n    -\u003eonBeforeCreate(fn($pid, $num) =\u003e println(\"master [PID:$pid] - Will create task process, number:\", $num))\n    -\u003eonWorkersCreated(fn($pid, $info) =\u003e println(\"master [PID:$pid] - All task process started,\", 'Workers info', $info))\n    -\u003eonWorkerStart(fn($pid, $id) =\u003e println(\"worker#$id started, pid is\", $pid))\n    -\u003eonWorkerExit(fn($pid, $id) =\u003e println(\"worker#$id exited, pid is\", $pid))\n    -\u003eonCompleted(fn($pid) =\u003e println(\"master [PID:$pid] - all workers exited, tasks run completed\"))\n    -\u003esetTasks([\n        ['task1'], // one task\n        ['task2'],\n        ['task3'],\n        ['task4'],\n    ])\n    -\u003eaddTask(['task5'])\n    -\u003erun();\n```\n\n**Run**: \n\n```bash\nphp example/proc-tasks.php\n```\n\n**Output**:\n\n```text\nmaster [PID:49731] - Will create task process, number: 2\nmaster [PID:49731] - All task process started, Workers info {\"49732\":{\"id\":0,\"pid\":49732,\"startAt\":1639245860},\"49733\":{\"id\":1,\"pid\":49733,\"startAt\":1639245860}}\nworker#0 started, pid is 49732\nworker#0 [PID:49732] - handle task, task data [\"task1\"]\nworker#1 started, pid is 49733\nworker#1 [PID:49733] - handle task, task data [\"task4\"]\nworker#1 [PID:49733] - handle task, task data [\"task5\"]\nworker#0 [PID:49732] - handle task, task data [\"task2\"]\nworker#1 exited, pid is 49733\nworker#0 [PID:49732] - handle task, task data [\"task3\"]\nworker#0 exited, pid is 49732\nmaster [PID:49731] - all workers exited, tasks run completed\n\n```\n\n## License\n\n[MIT](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-toolkit%2Fsys-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-toolkit%2Fsys-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-toolkit%2Fsys-utils/lists"}