Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何知道SSH外壳程序何时完成或实时解析日志?_C#_Ssh - Fatal编程技术网

C# 如何知道SSH外壳程序何时完成或实时解析日志?

C# 如何知道SSH外壳程序何时完成或实时解析日志?,c#,ssh,C#,Ssh,我正在用c#编写一个GUI,其中当uesr单击一个按钮时,GUI调用kitty.exe(与PuTTy.exe完全相同,具有额外的功能)在Linux中运行一些命令,在此期间,kitty ssh命令shell上有一个日志,它被传递到一个日志文件(使用kitty嵌入的功能)。完成后,我检查日志文件中的单词“success”或“Fail” 我现在做的是等待(使用c#中的“sleep”命令)2分钟,然后检查日志文件。这确实有效,但我希望它更高效,因为有时需要90秒,有时需要60秒,我不想在完成后等待太久。

我正在用c#编写一个GUI,其中当uesr单击一个按钮时,GUI调用kitty.exe(与PuTTy.exe完全相同,具有额外的功能)在Linux中运行一些命令,在此期间,kitty ssh命令shell上有一个日志,它被传递到一个日志文件(使用kitty嵌入的功能)。完成后,我检查日志文件中的单词“success”或“Fail”

我现在做的是等待(使用c#中的“sleep”命令)2分钟,然后检查日志文件。这确实有效,但我希望它更高效,因为有时需要90秒,有时需要60秒,我不想在完成后等待太久。此外,它不是那么优雅的解决方案:o)。 我的问题是如何(如果)实时检查SSH窗口上运行的日志,并搜索关键字(成功或失败),而不是等待它完成然后检查它。 顺便说一句,使用cmd.exe中的'>'调用kiTTy.exe并将其日志传递到文件是不起作用的。
谢谢大家!

如果使用system.Diagnostics.process.Start()调用系统进程,则可以在调用后使用该方法。这将阻止线程上的进一步执行,直到进程完成,此时您可以检查日志。这可能比等待任意时间量更好

如果您希望实时完成,而不是等到完成,那么有一个工具可以获取流读取器,您可以通过它查找感兴趣的项目