Я попытался проанализировать список пользователей, подключенных в настоящее время через SSH к серверу, но результаты очень нерегулярные, поэтому я был вынужден просто сделать:
<code>$users = shell_exec('who');
echo "<pre>$users
";
Есть ли лучший способ проанализировать вывод who
в командной строке, прежде чем я позволю PHP возиться с этим? Я хочу это в массиве, который содержит имя пользователя (первый столбец ниже), терминал, к которому они подключены (второй столбец), дату и время, когда они подключены (третий), и IP-адрес, с которого они подключены (в скобках). Я предполагаю, что я должен использовать preg_split
для разделения данных, но иногда это выглядит нерегулярно с длиной имени пользователя, имени терминала и т. Д.
(в некоторых примерах вывод 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)