Заставить работать программу в фоне

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Заставить работать программу в фоне

Сообщение user51 » 04.08.2008 17:58:27

Изменил немного и скомпилировал стндартный пример сервера который слушает определеный порт.
Как сделать чтобы он работал в фоне. Запуск с параметром &
приводит к остановке сервера (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.
user51
незнакомец
 
Сообщения: 1
Зарегистрирован: 04.08.2008 16:55:57

Re: Заставить работать программу в фоне

Сообщение ev » 04.08.2008 18:24:05

а оформить код слабо? ;)
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: Заставить работать программу в фоне

Сообщение B4rr4cuda » 05.08.2008 01:16:28

Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Заставить работать программу в фоне

Сообщение Attid » 05.08.2008 10:14:56

user51 писал(а):Или подскажите что читать


правила оформления сообщений.


B4rr4cuda писал(а):Демона писать нужно.

поиск по форуму на тему демонов принесет необходимый матерьял на фпц
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru