Omitir navegación.
Inicio

090428

Imagen de SebaMinguez

BuscaPrograma.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
 
int main (int argc, char **argv)
{
	char l [1024], l1[1024], *p;
	strcpy(l, getenv("PATH"));
	p = strtok(l, ":");
	for (;p!=NULL;p=strtok(NULL, ":")) {
		strcat (strcat (strcpy(l1, p),"/"),argv[1]);
		if (access(l1, X_OK)==) {
			printf("%s esta en %s \n", argv[1], p);
			return ;
		}
	}
	printf ("%s no existe \n", argv[1]);
	return -1;
}
Exec.c
#include <stdio.h>
#include <unistd.h>
int main()
{
	printf("Vamos ! ");
	getchar();
	execl("/bin/ls", "ls", "-Rl", NULL);
	return ;
}
ExitWait.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
/*
int main()
{	
	int status, pid;
	if (fork()!=0) {
		pid = wait(&status);
		printf(" %d devuelve %d \n", pid, status);
	}
	else {
		printf ("soy el hijo, pid- %d \n", getpid());
		sleep(5);
		exit(47);
	}
	return 0;
}
*
* En el caso anterior el 47 del exit no tiene que ver con el status
* Entonces agregamos la Macro WEXITSTATUS ya que en el estatus viene mucha mas informacion
*/
int main()
{	
	int status, pid;
	if (fork()!=) {
		pid = wait(&status);
		printf(" %d devuelve %d \n", pid, WEXITSTATUS(status));
	}
	else {
		printf ("soy el hijo, pid- %d \n", getpid());
		sleep(5);
		exit(47);
	}
	return ;
}
Fork.c
#include <stdio.h>
#include <unistd.h>
 
int main()
{	
	printf("vamos! ");
	if (fork()!=)
		printf("Padre \n");
	else
		printf("Hijo! \n");
	return ;
}

Trackback URL for "090428 "

http://www.odiolasllaves.com.ar/trackback/124