Rumah php教程 php手册 PHP监控linux服务器负载

PHP监控linux服务器负载

Jun 13, 2016 am 10:38 AM
linux php server web wujud capai kami Cara pelayan realiti daripada pantau memuatkan

  由于Web Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。

  c程序

  首先写个c文件,比如/usr/local/ismole/w.c

 

<ol class="dp-c">
<li class="alt"><span><span class="comment">//note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除 </span> </span></li>
<li><span><span class="preprocessor">#include  </span> </span></li>
<li class="alt"><span><span class="preprocessor">#include  </span> </span></li>
<li><span><span class="preprocessor">#include  </span> </span></li>
<li class="alt"><span><span class="preprocessor">#include  </span><span> </span></span></li>
<li><span> </span></li>
<li class="alt">
<span class="keyword">int</span><span> main()  </span>
</li>
<li><span>{  </span></li>
<li class="alt"><span>    uid_t uid ,euid;  </span></li>
<li><span> </span></li>
<li class="alt">
<span>    </span><span class="comment">//note 获得当前的uid </span><span> </span>
</li>
<li><span>    uid = getuid();  </span></li>
<li class="alt">
<span>    </span><span class="comment">//note 获得当前euid </span><span> </span>
</li>
<li><span>    euid = geteuid();  </span></li>
<li class="alt"><span> </span></li>
<li>
<span>    </span><span class="comment">//note 交换这两个id </span><span> </span>
</li>
<li class="alt">
<span>    </span><span class="keyword">if</span><span>(setreuid(euid, uid))  </span>
</li>
<li>
<span>        perror(</span><span class="string">"setreuid"</span><span>);  </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span>    </span><span class="comment">//note 执行将要执行linux系统命令 </span><span> </span>
</li>
<li class="alt">
<span>    system(</span><span class="string">"/usr/bin/w"</span><span>);  </span>
</li>
<li>
<span>    </span><span class="keyword">return</span><span> 0;  </span>
</li>
<li class="alt"><span>}  </span></li>
</ol>
Salin selepas log masuk

  //note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除

  编译该文件gcc -o ipt -Wall w.c,这时会在当前目录下生成程序w。

  改变此程序的属主chmod u+s ./w。

  PHP执行

  文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。

 

<ol class="dp-c">
<li class="alt"><span><span></span></span></li>
<li>
<span class="comment">//note key的验证过程 </span><span> </span>
</li>
<li class="alt">
<span class="keyword">if</span><span>(</span><span class="vars">$key</span><span> != </span><span class="vars">$authkey</span><span>) {  </span>
</li>
<li>
<span class="comment">//        exit(key error); </span><span> </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span> </span></li>
<li class="alt">
<span class="vars">$last_line</span><span> = </span><span class="func">exec</span><span>(</span><span class="string">/usr/local/ismole/w</span><span>, </span><span class="vars">$retval</span><span>);  </span>
</li>
<li><span> </span></li>
<li class="alt">
<span class="vars">$returnArray</span><span> = </span><span class="func">explode</span><span>(</span><span class="string">"load average: "</span><span>, </span><span class="vars">$retval</span><span>[0]);  </span>
</li>
<li>
<span class="vars">$returnString</span><span> = </span><span class="vars">$returnArray</span><span>[1];  </span>
</li>
<li class="alt"><span> </span></li>
<li>
<span class="func">echo</span><span> </span><span class="vars">$returnString</span><span>;  </span>
</li>
</ol>
Salin selepas log masuk

  按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。比如《利用SVN搭建测试服务器》

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

Terangkan ungkapan perlawanan (Php 8) dan bagaimana ia berbeza dari suis. Terangkan ungkapan perlawanan (Php 8) dan bagaimana ia berbeza dari suis. Apr 06, 2025 am 12:03 AM

Dalam Php8, ungkapan perlawanan adalah struktur kawalan baru yang mengembalikan hasil yang berbeza berdasarkan nilai ungkapan. 1) Ia sama dengan pernyataan suis, tetapi mengembalikan nilai dan bukannya blok pernyataan pelaksanaan. 2) Ekspresi perlawanan secara ketat (===), yang meningkatkan keselamatan. 3) Ia mengelakkan kemungkinan ketinggalan dalam penyataan suis dan meningkatkan kesederhanaan dan kebolehbacaan kod.

Empat cara untuk melaksanakan multithreading dalam bahasa c Empat cara untuk melaksanakan multithreading dalam bahasa c Apr 03, 2025 pm 03:00 PM

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Cara Membuka Web.xml Cara Membuka Web.xml Apr 03, 2025 am 06:51 AM

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)

Huraikan tujuan dan penggunaan operator ... (splat) dalam argumen fungsi PHP dan array membongkar. Huraikan tujuan dan penggunaan operator ... (splat) dalam argumen fungsi PHP dan array membongkar. Apr 06, 2025 am 12:07 AM

Pengendali ... (Splat) dalam PHP digunakan untuk membongkar parameter fungsi dan tatasusunan, meningkatkan kesederhanaan dan kecekapan kod. 1) Parameter Fungsi Membongkar: Lulus elemen array sebagai parameter ke fungsi. 2) Array Unpacking: Buka array ke array lain atau sebagai parameter fungsi.

Apakah pemalsuan permintaan lintas tapak (CSRF) dan bagaimana anda melaksanakan perlindungan CSRF di PHP? Apakah pemalsuan permintaan lintas tapak (CSRF) dan bagaimana anda melaksanakan perlindungan CSRF di PHP? Apr 07, 2025 am 12:02 AM

Dalam PHP, anda boleh mencegah serangan CSRF dengan menggunakan token yang tidak dapat diramalkan. Kaedah khusus termasuk: 1. Menjana dan membenamkan token CSRF dalam bentuk; 2. Sahkan kesahihan token semasa memproses permintaan.

See all articles