0

Mint ターミナルを使用すると、スクリプトは ssh2_connect と ssh2_auth-password を使用して接続します。正常にログインしたら、ハードウェア CPU を取得するコマンドを実行したいと思います。スクリプトでコマンドを実行して結果を表示する方法はありますか。ping には system と exec を使用しました。私が端末にいた場合、ログインを行います。次に、「get hardware cpu」と入力します

ターミナルでは、次のようになります。

Test~ $ ハードウェア CPU を取得

4

3 に答える 3

1

これを試すことができます(純粋なPHP SSH2実装であるphpseclibが必要です):

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec("grep 'model name' /proc/cpuinfo");
?>
于 2012-11-19T14:11:02.343 に答える
1

シェルにアクセスする必要があります。

$connection = ssh2_connect($ip, $port);
$stream = ssh2_shell($connection);
fputs($stream, $input);
$buffer = fread($stream, 8192);

この例を見てください:

$input = "ls\nexit\n";
$connection = ssh2_connect($host, $port);
ssh2_auth_password($connection, $user, $pass);
$stream = ssh2_shell($connection);
stream_set_blocking($stream, 1);
stream_set_timeout($stream, 2);
fputs($stream, $input);

while (!feof($stream)) {
        echo $buffer = fread($stream, $buffersize);
}

ssh2 ストリームのブロックを設定するときに問題が発生するためsleep()、手動で行う必要がある場合があります。fread()

于 2012-11-15T15:10:56.373 に答える
0

この「get hardware」コマンドがどこから来たのかわかりません。システムに電力を供給しているCPUを特定しようとしている場合は、

grep 'model name' /proc/cpuinfo

cpu の ID 文字列を出力します。

marc@panic:~$ grep 'model name' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
于 2012-11-15T15:07:13.277 に答える