Опитвам се да използвам модула TProcess, за да изпълня ssh, за да се свържа с един от моите сървъри и да ми предостави обвивката. Това е пренаписване на едно, което имах в Ruby, тъй като времето за изпълнение за Ruby е много бавно. Когато стартирам функцията си Process.Execute, ми се представя обвивката, но тя веднага е на заден план. Изпълнението на pgrep ssh
разкрива, че работи, но нямам никакъв достъп до него, използването на fg
не го връща. Кодът за този сегмент е както следва:
if HasOption('c', 'connect') then begin
TempFile:= GetRecord(GetOptionValue('c', 'connect'));
AProcess:= TProcess.Create(nil);
AProcess.Executable:= '/usr/bin/ssh';
AProcess.Parameters.Add('-p');
AProcess.Parameters.Add(TempFile.Port);
AProcess.Parameters.Add('-ntt');
AProcess.Parameters.Add(TempFile.Username + '@' + TempFile.Address);
AProcess.Options:= [];
AProcess.ShowWindow:= swoShow;
AProcess.InheritHandles:= False;
AProcess.Execute;
AProcess.Free;
Terminate;
Exit;
end;
TempFile
е променлива от тип TProfile
, която е запис, съдържащ информация за сървъра. Системата за каталогизиране и извличане работи добре, но издърпването на обвивката не работи.