Обновление: я попытался напечатать возвращаемое значение system()
. Если ssh не удался, он вернет 65280, если он преуспеет, он вернет 0.Как получить ответный результат выполнения команды оболочки в C?
Я хочу, чтобы ssh на другой компьютер с моего ноутбука, я пишу программу на C, получаю доступ к этой машине и касаюсь файла на этой машине , Но иногда сеть нестабильна или, может быть, машина выключена. Поэтому ssh
не удался. Как я могу узнать, что ssh
не удалось выполнить эту программу? Когда-то ssh
на эту машину преуспевает, но прикоснитесь к этому файлу, как отличить их в программе на C? Как я могу узнать, что команда оболочки была неудачной из-за ssh
не удалось touch
? Я не хочу смотреть на экран, я хочу, чтобы программа проверила это автоматически.
here is my code:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(int argc,const char *argv[])
{
while(1)
{
system("ssh [email protected] -p 22210 'touch script/rebooter.sh'");
sleep(5);
}
}
Вы должны открыть сокет и передать запрос. Затем вы можете проверить, какая часть неисправна. С вашим текущим кодом ничего не может быть сделано. – Deanie