plinker / system
系统组件,可让您访问服务器信息。
Requires
- plinker/core: >=0.1
- dev-master
- v3.2.9
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.0
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.0.2
- v1.0.1
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1
This package is not auto-updated.
Last update: 2024-09-14 18:58:35 UTC
README
一个系统组件,可让您访问服务器信息。
安装
使用以下命令通过 composer 安装此包
$ composer require plinker/system
客户端
创建客户端实例如下
<?php
require 'vendor/autoload.php';
/**
* Initialize plinker client.
*
* @param string $server - URL to server listener.
* @param string $config - server secret, and/or a additional component data
*/
$client = new \Plinker\Core\Client(
'http://example.com/server.php',
[
'secret' => 'a secret password'
]
);
// or using global function
$client = plinker_client('http://example.com/server.php', 'a secret password');
方法
设置完成后,您可以通过其命名空间调用类及其方法。
枚举
枚举方法用于在单个调用中调用多个方法,以减少 RPC 请求。
此方法可用于调用单个方法,或带有参数的多个方法。
调用
$client->system->enumerate([ 'arch', 'hostname', 'disks' => ['/'], 'ping' => ['https://google.com'], ]); // or single method $client->system->enumerate('disks', ['/']);
响应
Array
(
[arch] => x86_64
[hostname] => plinker
[disks] => Array
(
[0] => Array
(
[Filesystem] => /dev/sdb1
[Type] => ext4
[Size] => 95G
[Used] => 85G
[Avail] => 5.2G
[Used (%)] => 95%
[Mounted] => /
)
)
[ping] => -1
)
架构
返回系统架构。
调用
$client->system->arch();
响应
x86_64
清除交换空间
清除交换空间,需要 root 权限,因此应与任务一起使用。
调用
$client->system->clear_swap();
响应
CPU 信息
返回关于 CPU 的信息。
调用
$client->system->cpu_info();
响应
Array
(
[Architecture] => x86_64
[CPU op-mode(s)] => 32-bit, 64-bit
[Byte Order] => Little Endian
[CPU(s)] => 2
[On-line CPU(s) list] => 0,1
[Thread(s) per core] => 1
[Core(s) per socket] => 2
[Socket(s)] => 1
[NUMA node(s)] => 1
[Vendor ID] => AuthenticAMD
[CPU family] => 16
[Model] => 4
[Model name] => AMD Phenom(tm) II X2 555 Processor
[Stepping] => 3
[CPU MHz] => 3200.000
[CPU max MHz] => 3200.0000
[CPU min MHz] => 800.0000
[BogoMIPS] => 6429.27
[Virtualization] => AMD-V
[L1d cache] => 64K
[L1i cache] => 64K
[L2 cache] => 512K
[L3 cache] => 6144K
[NUMA node0 CPU(s)] => 0,1
[Flags] => fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate retpoline retpoline_amd rsb_ctxsw vmmcall npt lbrv svm_lock nrip_save
)
磁盘空间
返回剩余磁盘空间百分比。
调用
$client->system->disk_space();
响应
71
磁盘
返回挂载的磁盘。
调用
$client->system->disks(); // dont parse $client->system->disks(false);
响应
// Parsed
Array
(
[0] => Array
(
[Filesystem] => /dev/sdb1
[Type] => ext4
[Size] => 95G
[Used] => 85G
[Avail] => 5.2G
[Used (%)] => 95%
[Mounted] => /
)
)
// Unparsed
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 ext4 95G 85G 5.2G 95% /
发行版
获取系统发行版名称。
调用
$client->system->distro();
响应
UBUNTU
清除缓存
清除内存缓存,需要 root 权限,因此应与任务一起使用。
调用
$client->system->drop_cache();
响应
true
主机名
获取系统主机名。
调用
$client->system->hostname();
响应
plinker
负载
获取系统的平均负载。
调用
$client->system->load();
响应
Array
(
[1m] => 1.71
[5m] => 1.21
[15m] => 1.14
[curr_proc] => 3
[totl_proc] => 1437
[last_pid] => 3272
)
登录
返回系统登录数组。
调用
$client->system->logins();
响应
Array
(
[0] => Array
(
[User] => root
[Terminal] => pts/1tmux(2972).%0
[Date] => Fri May 11 08:25
[Disconnected] => 11:01
[Duration] => 02:35
)
[1] => Array
(
[User] => root
[Terminal] => pts/1tmux(542).%0
[Date] => Thu May 10 15:01
[Disconnected] => 08:11
[Duration] => 17:09
)
[2] => Array
(
[User] => Reboot
[Terminal] =>
[Date] =>
[Disconnected] =>
[Duration] =>
)
[3] => Array
(
[User] => root
[Terminal] => pts/1tmux(5310).%0
[Date] => Thu May 10 07:42
[Disconnected] => crash
[Duration] => 07:19
)
)
... snip
)
机器 ID
返回系统的 machine-id,如果没有则生成一个。
调用
$client->system->machine_id();
响应
82c887bcf6da43e5952fad9fd6ed15b6
内存统计
返回内存统计数组,包括已使用、已缓存和空闲的百分比值。
调用
$client->system->memory_stats();
响应
Array
(
[used] => 15
[cache] => 0
[free] => 85
)
内存总量
获取内存总量(以 KB 为单位)。
调用
$client->system->memory_total();
响应
16167888
netstat
获取网络连接。
调用
$client->system->netstat();
响应
Array
(
[0] => Array
(
[Proto] => tcp
[Recv-Q] => 0
[Send-Q] => 0
[Local Address] => 0.0.0.0:80
[Foreign Address] => 0.0.0.0:*
[State] => LISTEN
[PID/Program] => 1169/nginx:
[Process Name] => worker
)
... snip
)
Ping
Ping 主机名并返回以毫秒为单位的连接时间。
调用
$client->system->ping('google.com');
响应
31.18
PStree
返回系统进程树。
调用
$client->system->pstree();
响应
systemd-+-Brackets-+-Brackets---Brackets---Brackets-+-{Chrome_ChildIOT}
| | |-2*[{CompositorTileW}]
| | |-{Compositor}
| | |-{HTMLParserThrea}
| | |-{Renderer::FILE}
| | |-{WorkerPool/203}
| | |-{WorkerPool/210}
| | |-{WorkerPool/212}
| | `-{WorkerPool/213}
| |-Brackets-node-+-5*[{Brackets-node}]
| | `-4*[{V8 WorkerThread}]
| |-{AudioThread}
| |-2*[{Brackets}]
| |-3*[{BrowserBlocking}]
| |-{CachePoolWorker}
| |-{Chrome_CacheThr}
| |-{Chrome_DBThread}
| |-{Chrome_DevTools}
| |-{Chrome_FileThre}
| |-{Chrome_FileUser}
| |-{Chrome_IOThread}
| |-{Chrome_ProcessL}
| |-{CompositorTileW}
| |-{IndexedDB}
| |-{NetworkChangeNo}
| |-{WorkerPool/1747}
| |-{gdbus}
| |-{gmain}
| |-{inotify_reader}
| |-{sandbox_ipc_thr}
| `-{threaded-ml}
|-LXDui-0.0.9-x86---{LXDui-0.0.9-x86}
... snip
重启
重启服务器,需要 root 权限,因此应与任务一起使用。
调用
$client->system->reboot();
响应
true
CPU 使用率
返回当前 CPU 使用率(百分比值)。
调用
$client->system->cpu_usage();
响应
23
系统更新
检查系统是否有更新。
调用
$client->system->system_updates();
响应
1=has updates, 0=no updates, -1=unknown
Top
获取以数组形式表示的 top 输出。
调用
$client->system->top();
响应
Array
(
[0] => Array
(
[PID] => 27475
[USER] => user
[PR] => 20
[NI] => 0
[VIRT] => 1785692
[RES] => 671316
[SHR] => 140004
[S] => S
[%CPU] => 43.8
[%MEM] => 4.2
[TIME+] => 29:44.62
[COMMAND] => chrome
)
... snip
)
总磁盘空间
获取总磁盘空间(以字节为单位)。
调用
$client->system->total_disk_space();
响应
101369536512
Uname
获取系统名称/内核版本。
调用
$client->system->uname();
响应
Linux 4.13.0-41-generic
Uptime
获取系统运行时间字符串。
调用
$client->system->uptime();
响应
up 1 day, 17 hours, 31 minutes
测试
为此组件没有设置测试。
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全
如果您发现任何与安全相关的问题,请通过 https://cherone.co.uk 联系我,而不是使用问题跟踪器。
致谢
开发鼓励
如果您使用此项目并从中获利或希望表达您的感激之情,请随时通过 https://www.paypal.me/lcherone 捐赠,谢谢。
赞助商
让您的公司或姓名在文档中以及每个 github 存储库中列出,请联系我了解更多详情 https://cherone.co.uk。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。
查看组织页面以获取更多组件。