abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:33 | Nová verze

Po 3 měsících vývoje od vydání verze 14 byla vydána nová stabilní verze 15 open source systému Nextcloud, forku ownCloudu, umožňujícího provoz vlastního cloudového úložiště. Přehled novinek i s náhledy v příspěvku na blogu. Pro vyzkoušení Nextcloudu je k dispozici demo.

Ladislav Hagara | Komentářů: 1
včera 18:00 | IT novinky

Počítačová hra Doom slaví 25 let. Společností id Software ji vydala 10. prosince 1993. Zahrát si ji lze například na Internet Archive.

Ladislav Hagara | Komentářů: 9
9.12. 23:55 | Zajímavý článek

Nakladatelství Raspberry Pi vydalo 244 stránkového průvodce pro úplné začátečníky s jednodeskovým počítačem Raspberry Pi The Official Raspberry Pi Beginner’s Guide (pdf). Programování ve visuálním programovacím jazyce Scratch je věnována nová příručka Code Club Book of Scratch Volume 1 (pdf). Vydáno bylo také třetí číslo časopisu věnovaného počítačovým hrám Wireframe (pdf).

Ladislav Hagara | Komentářů: 0
9.12. 23:44 | Nová verze

U příležitosti oslav jednoho roku prací na debianím balíčku, vyšlo GPXSee 7.0. Nová verze přináší zejména podporu vektorových map (Mapbox PBF) pomocí nově vzniklého Qt pluginu.

Martin Tůma | Komentářů: 8
7.12. 23:33 | Nová verze

UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), oznámila vydání nové verze Ubuntu Touch OTA-6. Zdůrazněna jsou například vylepšení webového prohlížeče Morph.

Ladislav Hagara | Komentářů: 0
7.12. 21:33 | Komunita

Richard Hughes na svém blogu informuje, že se společnost AMI (American Megatrends Incorporated), největší dodavatel firmwarů a BIOSů (AMIBIOS, Aptio, ...), zapojila do projektu LVFS (Linux Vendor Firmware Service). Seznam projektem podporovaných zařízení by se měl tedy časem rozšířit.

Ladislav Hagara | Komentářů: 0
7.12. 20:11 | Komunita

Nadace pro svobodný software (FSF) informuje, že seznam doporučených svobodných distribucí GNU/Linuxu byl rozšířen o distribuci Hyperbola GNU/Linux-libre. Hyperbola vychází z Arch Linuxu a na rozdíl od něj splňuje požadovaná kritéria.

Ladislav Hagara | Komentářů: 6
7.12. 19:55 | IT novinky

Společnost Valve oznámila, že počítačová hra Counter-Strike: Global Offensive (Steam) je nově free to play. Hra Company of Heroes 2 (Steam) je do pondělí 10. prosince zdarma.

Ladislav Hagara | Komentářů: 0
7.12. 00:11 | Nová verze

Byla vydána verze 7.3.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.3. Podrobný přehled novinek v seznamu změn.

Ladislav Hagara | Komentářů: 3
6.12. 23:55 | Nová verze

Byla vydána verze 1.31 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (7%)
 (11%)
 (31%)
 (25%)
Celkem 102 hlasů
 Komentářů: 14, poslední včera 12:19
Rozcestník

Dotaz: SIGCLD, system, deamon

16.7.2004 13:15 honza
SIGCLD, system, deamon
Přečteno: 46×
v minulosti (napr. suse 7.1) mi fungoval deamon program, ktery na zacatku ignoroval SIGCLD. V deamonu se provadelo volani.. ret = system("aaaa_exe"); ret pote obdrzel exit kod provadeneho programu. na novych systemech (suse 9.1) je nyni ret=-1 a errno=10. Kdyz SIGCLD ale neignoruji, tak se hromadi zobie's.

Nema nekdo poneti, jak je to treba programovat dneska?

Odpovědi

16.7.2004 14:43 Maude Lebowski
Rozbalit Rozbalit vše Re: SIGCLD, system, deamon
ja tyhle veci neprogramuju pres system, ktery ma omezene pouzivani prave funkci na cekani, ale mam vlastni wraper: ( veci za include musi byt v < > zavorkach)
/*

  execute system utilities, run a specified binary with
  string arguments and return an output as a single string 

  $Id$

*/

#include unistd.h
#include stdio.h
#include stdlib.h
#include string.h
#include syslog.h
#include sys/types.h
#include sys/wait.h

#define TIMEOUT_SEC 1
#define TIMEOUT_MSEC 200000
/* how long we will waiting for childs... */

int exec_command(const char *command, char *const args[], char *output, int len)
{

  /* parameters:

  - command is a command (the same meaning as path in exec functions)
  - args[] are arugumets for execvp commands (null terminated array of strins)
  - output is output buffer previously allocated to lenght len
  - len is the max. lenght of output

  */

  pid_t f;
  int pipa[2];      /* pipa = the tap to get out beer from barel,in czech:-) */
  int i,j,n;
  fd_set rfds;
  struct timeval tv;

  if( pipe(pipa) < 0 ) {
    syslog(LOG_ERR,"pipe: %m: cannot create for %s\n",command);
    return(-1);
  }

  f = fork();
  if( f < 0 ) {
    syslog(LOG_ERR,"Fork failed. The %s move failed.\n",command);
    return(-1);
  }
  else if( f == 0 ) {
    close(1);
    dup(pipa[1]);
    close(pipa[0]);
    close(pipa[1]);
    fprintf(stderr,"%s %s %s %s\n",command,args[0],args[1],args[2]);
#ifdef DEBUG
    fprintf(stderr,"%s %s %s %s\n",command,args[0],args[1],args[2]);
#endif
    if( (j = execvp(command,args)) < 0 ) {
      syslog(LOG_ERR,"execlp %s: %m\n",command);
      /* a child should (!) write any output else a thread is stoped forever 
         (if block-read without select is used in main) or zombie is created */
      write(1,"",len-1);
    }
    exit(j);
  }
  else {

    /* use of the non-block input when no data are presented */ 
    n = 0;
    strcpy(output,"");
    FD_ZERO(&rfds);
    FD_SET(pipa[0], &rfds);
    tv.tv_sec = TIMEOUT_SEC;
    tv.tv_usec = TIMEOUT_MSEC;
    if( select(pipa[0]+1, &rfds, NULL, NULL, &tv) ) {
      read(pipa[0],output,len);
    }
    for( i = 0; output[i] != '\0' && i < len ; i++)
      if( output[i] == '\n' )
        output[i] = '\0';
#ifdef DEBUG
    printf("Child returned: >%s<\n",output);
#endif
    if( waitpid(f,&i,0) < 0 ) {
      syslog(LOG_ERR,"wait: %m\n");
      return(-1);
    }
    if( !WIFEXITED(i) ) {
      syslog(LOG_ERR,"Child exited with code %d\n",WEXITSTATUS(i)); 
      return(-1);
    }
  }

  return(i);
}
17.7.2004 12:41 honza
Rozbalit Rozbalit vše Re: SIGCLD, system, deamon
predem dekuji za zaslany kod. Provedu obsahly test v mem programu a v pripade chyb nebo nesrovnalosti se ozvu.

P.S.

'Maude Lebowski' je cool

'pipa = the tap to get out beer from barel..' to mi pripada ne tak cool - jestli to smim pouzit, tak to vyndam ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.