Как сделать чтобы он работал в фоне. Запуск с параметром &
приводит к остановке сервера (stoped) и у же ничего не слушает.
Можно ли ссылку на пример програмы которя может работать в фоне
или что можно изменить в этой проге. Или подскажите что читать т.к под линуксом начал писать только пару дней назад
- Код: Выделить всё
- Program server;
 {
 Program to test Sockets unit by Michael van Canneyt and Peter Vreman
 Server Version, First Run sock_svr to let it create a socket and then
 sock_cli to connect to that socket
 }
 uses unix,sysutils, Sockets;
 Var
 ex_code1:longint;
 logb:boolean;
 f:text;
 FromName,ff ,programdir1,root1: string;
 Buffer : string[255];
 S : Longint;
 Sin,Sout : Text;
 SAddr : TInetSockAddr;
 label begin1;
 function getdf1:integer;
 var ff_df,ff_df2:string;
 ex_code1,i1,i:longint;
 f_df:text;
 begin
 ff_df:='df > '+programdir1 +'del.exec.df.txt';
 ex_code1:=fpsystem(ff_df);
 assign(f_df,programdir1+'del.exec.df.txt');
 reset(f_df);
 readln(f_df,ff_df);
 i1:=pos('Available',ff_df);
 repeat
 readln(f_df,ff_df);
 i:=pos('/dev/hda7',ff_df);
 if i>0 then
 begin
 ff_df2:=trim(copy(ff_df,i1,6));
 end;
 until eof(f_df);
 close(f_df);
 getdf1:=strtoint(ff_df2);
 end;
 procedure perror (const S:string);
 begin
 writeln (S,SocketError);
 // halt(100);
 end;
 begin
 S:=Socket (AF_INET,SOCK_STREAM,0);
 if SocketError<>0 then
 Perror ('Server : Socket : ');
 SAddr.sin_family:=AF_INET;
 { port 50000 in network order }
 SAddr.sin_port:=htons(1089);
 SAddr.sin_addr.s_addr:=0;
 begin1:
 logb:=false;
 if not Bind(S,SAddr,sizeof(saddr)) then
 PError ('Server : Bind : ');
 if not Listen (S,1) then
 PError ('Server : Listen : ');
 Writeln('R&K server waiting for Connect from Client');
 if not Accept (S,FromName,Sin,Sout) then
 PError ('Server : Accept : '+fromname);
 Reset(Sin);
 ReWrite(Sout);
 Writeln(Sout,'Server ready v002'+#13);
 Flush(SOut);
 while not eof(sin) do
 begin
 Readln(Sin,Buffer);
 Writeln('Server : read : ',buffer);
 if buffer= 'df' then
 begin
 ff:='df > '+programdir1 +'sock.exec.df.txt';
 ex_code1:=fpsystem(ff);
 assign(f,programdir1 +'sock.exec.df.txt');
 reset(f);
 repeat
 readln(f,ff);
 writeln(sout,ff,#13);
 until eof(f);
 close(f);
 end;
 if buffer= 'web' then
 begin
 root1:='';
 ff:='df > '+programdir1 +'sock.exec.df.txt';
 ff:='ls '+root1+' -l -G -g --time-style=full-iso > '+programdir1 +'sock.exec.ls1.txt';
 ex_code1:=fpsystem(ff);
 assign(f,programdir1 +'sock.exec.ls1.txt');
 reset(f);
 repeat
 readln(f,ff);
 writeln(sout,ff,#13);
 until eof(f);
 close(f);
 end;
 end;
 goto begin1;
 end.





