Ben şu anda bir sunucuya SSH ile bağlanan kullanıcıların bir listesini ayrıştırma denedim, ama sonuç çok düzensiz, bu yüzden ben sadece yapmak zorunda kaldı:
$users = shell_exec('who');
echo "<pre>$users</pre>";
Onunla etrafında PHP karmaşa izin vermeden önce komut satırında who
çıkışını ayrıştırmak için daha iyi bir yolu var mı? Ben adınızı (parantez içerisinde) birbirlerine bağlı yerden (ilk aşağıda sütun), onlar (ikinci sütun) üzerine bağlı olduğunuz terminal, tarih ve bunların bağlı zaman (üçüncü) ve IP içeren bir dizi istiyorum. Ben preg_split
verileri bölmek ama vb adınızı uzunluğu, terminal adı, bazen gerçekten düzensiz görünüyor kullanmanız gerekir tahmin ediyorum.
(Bazı örnek çıktı who
):
alex tty7 2010-01-23 17:04 (:0)
alex pts/0 2010-01-30 17:43 (192.168.1.102)
root pts/1 2010-01-30 17:45 (192.168.1.102)