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í
×
dnes 19:55 | Komunita

Neziskové technologické konsorcium Linux Foundation minulý týden rozšířilo seznam svých projektů. Novinkou je CHIPS Alliance a Continuous Delivery Foundation (CDF). Spojením Node.js Foundation a JS Foundation vznikla OpenJS Foundation. Představena byla také platforma CommunityBridge nebo Red Team Project.

Ladislav Hagara | Komentářů: 0
dnes 18:11 | IT novinky

Neziskové průmyslové konsorcium Khronos Group vydalo verzi 0.90 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Společnost Collabora současně představila open source implementaci OpenXR s názvem Monado. Videoukázka na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 13:55 | Nová verze

Byla vydána verze 3.32 poštovního klienta Geary (Wikipedie). Změněno bylo číslování verzí. Předchozí verze byla 0.13. Nově bude číslování verzí stejné jako u GNOME.

Ladislav Hagara | Komentářů: 2
dnes 01:33 | Nová verze

Byla vydána nová major verze 4 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Solus 4 je ke stažení v edicích Budgie, GNOME a MATE. Solus používá správce balíčku eopkg. Dotazy a odpovědi v novém diskusním fóru.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Zajímavý software

Brian Linkletter se na svém blogu věnuje open source síťovým simulátorům. V nejnovějším příspěvku představuje open source síťový emulátor vrnetlab (VR Network Lab). Ten k běhu jednotlivých routerů používá Docker.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Humor

Společnost SUSE natočila a na YouTube zveřejnila nový videoklip: Walk Like A Chameleon - SUSE Music Parody.

Ladislav Hagara | Komentářů: 19
včera 00:11 | Nová verze

Byla vydána verze 0.71 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeno je také několik bezpečnostních chyb. Nalezení většiny z nich bylo sponzorováno Evropskou komisí.

Ladislav Hagara | Komentářů: 0
15.3. 22:44 | Nová verze

V rámci projektu OpenRA je vyvíjen svobodný engine pro starší strategické hry Command & Conquer (nyní jsou freeware) a Dune 2000. Vydání 20190314 pokrývá změny za posledního půl roku: vylepšené chování jednotek, přepis kódu pro AI a celkem 9 nových misí pro jednoho hráče.

Fluttershy, yay! | Komentářů: 2
15.3. 21:33 | Nová verze

Po půl roce vývoje od vydání verze 1.14.0 byla vydána nová verze 1.16.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se na svých blozích věnují Ľubomír Rintel a Thomas Haller. Zdůrazněna je podpora WireGuardu.

Ladislav Hagara | Komentářů: 0
15.3. 14:55 | Nová verze

Po deseti měsících vývoje od vydání verze 3.1 byla vydána nová stabilní verze 3.2 proprietárního multiplatformního editoru textových souborů a zdrojových kódů Sublime Text (Wikipedie). Přehled novinek v příspěvku na blogu. Sublime Text je ke stažení a k vyzkoušení zdarma. Pro další používání je nutná licence v ceně 80 dolarů. Vývojáři editoru Sublime Text nedávno představili svého git klienta Sublime Merge. Ten je také ke stažení a k vyzkoušení zdarma. Licence stojí 99 dolarů.

Ladislav Hagara | Komentářů: 0
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (3%)
 (12%)
 (35%)
 (30%)
 (19%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 202 hlasů
 Komentářů: 16, poslední 14.3. 20:04
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.