/* Application console GTK. gcc -Wall -s `pkg-config --cflags --libs gtk+-2.0` -o a a.c */ #include <gtk/gtk.h> int main( int argc, char *argv[] ) { g_print("Lancement\n"); /* // Lancement simple, asynchrone gchar *cmd = "./1"; GError *err = NULL; if (g_spawn_command_line_async (cmd, &err)) g_print("oki\n"); else g_print("pas oki. g_spawn_command_line_async retourne FALSE\n"); */ /* // Lancement simple, synchrone. gint exit_status; gchar *sout=NULL; gchar *serr=NULL; GError *err = NULL; gchar *cmd = "./1"; if (g_spawn_command_line_sync (cmp, &sout,&serr,&exit_status,&err)) g_print("exit_status : %d\n" "sout = [%s]\n" "serr = [%s]\n", exit_status, sout, serr); else g_print("pas oki. g_spawn_command_line_sync retourne FALSE\n"); */ /* // Asynchrone avec pipes. GPid child_pid; GError *err = NULL; gchar *sout=NULL; gchar *serr=NULL; FILE * pipin = fopen(stdin, "r"); if (g_spawn_async_with_pipes (NULL,argv,NULL, G_SPAWN_FILE_AND_ARGV_ZERO, NULL,NULL, &child_pid, NULL, pipin, NULL, &err)) g_print("exit_status : %d\n" "sout = [%s]\n" "serr = [%s]\n" "pid = [%d]\n", exit_status, sout, serr, pid_child); else g_print("pas oki. g_spawn_async_with_pipes retourne FALSE\n"); if (err) g_print("err->message : %s\n", err->message); fclose (pipin); */ argv[0] = "./1"; //gchar *cmd = "./1"; GPid child_pid; GError *err = NULL; if (g_spawn_async (NULL, argv, NULL, G_SPAWN_FILE_AND_ARGV_ZERO, NULL, NULL, &child_pid, &err)) g_print("pid = [%d]\n", child_pid); else g_print("pas oki. g_spawn_async retourne FALSE\n"); if (err) g_print("err->message : %s\n", err->message); g_print("fin.\n"); return 0; }