bastian escribió:Yo te lo hago, no te preocupes.
PD: El precio si eso, mejor lo acordamos ya por privado.
bastian escribió:Me parece que no lo has pillado.
Tú no quieres pistas, las pistas ya las tienes en el propio enunciado. Tú lo que quieres es que te hagan la práctica, y aquí nadie te la va a hacer
Si decides intentar hacerlas y tienes problemas concretos, vuelve, pregunta demostrando que lo has intentado y puede que te ayuden con ellos.
Hacerte una práctica por la cara, no.
Un saludo.
Vorlander escribió:Era dificil pillarlo con tu respuesta inicial.
No señor, yo no quiero que me hagan la practica, he puesto que "alguien me eche una mano", no que alguien me la haga.
...
Vaya, muy amable, y como se supone que etngo que demostrar que lo he intentado ??
No se....me haceis algunas preguntas tipo test ?? y si las respondo entoces me ayudais ??
Aunque con el tiempo que has malgastado en tu broma ya podias haberme iluminado con tu sapiencia, y para otra ocasion en lugar de contestar pasa de largo o bien pon el tan manido :
MODE IRONIC ON para saber que estabas de cachondeo con tu "oferta"
bastian escribió:Igual de difícil que saber que realmente has intentado hacer las prácticas.
El tiempo que malgaste es problema mío, y si llevas tiempo en el foro, como dices, ya deberías saber que la gente postea donde le viene en gana, y si no te gusta, lo siento.
Para moderar, ya están los moderadores.
Así que en vez de decirme como tengo que responder, aprende a preguntar, y saldrás ganando
, sobre todo porque eres tú el que necesita ayuda.
Un saludo.
R: trap 'echo Han premut control-C; exit' 2
R:
R: if test $# -ne 2
R: then
R: echo Nombre de paràmetres incorrecte
R: echo Ús correcte: $0 nombre_segons usuari
R: exit
R: fi
R:
R: if cut -d: -f1 /etc/passwd | grep \^$2\$ >/dev/null
R: then
R: echo Usuari $2 és al fitxer de passwords
R: else
R: echo Usuari $2 no és al fitxer de passworwds
R: exit
R: fi
R:
R: while true
R: do
R: if who|grep \^$2" " >/dev/null
R: then
R: echo usuari connectat
R: elseVorlander escribió:No quiero polemicas, solo pedia ayuda
....
No quiero polemic......... ZzZzZzZzzzzzzzz
....
No quiero pol .............. ZzZzZzZzzzzzzzz
Bueno parece que estamos de acuerdo en algo, así que por favor abandona el hilo o ayudame, que ya hemos desvirtuado suficienteme el topic de este hilo.
ozono escribió:Vorlander, en el manual de la asignatura "doc_shell_cat.pdf", esta todo lo que necesitas saber para crear el script.
Saludos de un compañero (puede que tambien de aula??)
![]()
[ $ ~ ] make tresprocs
cc tresprocs.c -o tresprocs
[ $ ~ ] ./tresprocs
Padre, con PID 14748 crea hijo 0
Hijo 0 con PID 14749
Padre, con PID 14748 crea hijo 1
Hijo 1 con PID 14750
[ $ ~ ] wc -l tresprocs.c
28 tresprocs.c
No es por no ayudar, el ejercicio de C es muy facilote, y podria pegarte el codigo en un momento (Cosa que no haré).
.
.
.
.
Cobo escribió:Por otra parte, el compi ya ha pedido perdón y demás, así que dejemos de dar la brasa con el temita.
Gracias, parece que a parte de inquisidores hay otro tipo de personas.
$ ./vorl_forks
Mensaje 1 proceso Padre con pid 5473,
Mensaje 1 Proceso Hijo 1 con pid=5474,
Mensaje 2 Proceso Hijo 1 con pid=5474,
Mensaje 2 proceso Padre con pid 5473,
Mensaje 1 Proceso Hijo 2 con pid=5475,
Mensaje 2 Proceso Hijo 2 con pid=5475,
Mensaje 3 proceso Padre con pid 5473,
$ wc -l vorl_forks
15 vorl_forks
Pero la corrección 'pedante' como técnica no siempre puedes mantenerla.
Vorlander escribió:El ejercicio ya lo tengo resuelto, lo he entendido perfectamente y ha sido en otro foro donde me han ayudado, no a realizarlo, si no a entender los conceptos que me impedian progresar.
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <sys/wait.h>
int main(int argc, char **argv)
{
»···int PID;
»···int PIDpadre;
»···int PIDhijo;
»···int i;
»···
»···PIDpadre = getpid();
»···for (i = 0 ; i < 2; i++)
»···{
»···»···printf("Padre, con PID %d crea hijo %d\n", PIDpadre, i);
»···»···PID=fork();
»···»···if(PID==0) {
»···»···»···PIDhijo = getpid();
»···»···»···printf("Hijo %d con PID %d\n",i, PIDhijo);
»···»···»···exit(0);
»···»···}
»···»···else
»···»···»···waitpid(PIDhijo, NULL, 0);
»···}
»···return 0;
}
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#define SIZE_ARRAY(a) (sizeof(a)/sizeof(a[0]))
int main(int argc, char *argv[])
{
pid_t hijos[2];
int i;
for(i = 0; i < SIZE_ARRAY(hijos); i++) {
printf("Padre, con PID %d crea hijo %-3d\n",getpid(),i);
if((hijos[i] = fork()) == 0) {
printf("Hijo %-3d con PID %-d\n",i,getpid());
exit(EXIT_SUCCESS);
} else
waitpid(hijos[i],NULL,0);
}
exit(EXIT_SUCCESS);
}Ferdy escribió:¿ Y tu código sigue el estilo K&R además de compilar limpiamente con -Wall y -pedantic ?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
int i, pid;
for ( i=1 ; i <= 2 ; i++) {
printf("Mensaje %d proceso Padre con pid %d\n",i,getpid());
if ((pid=fork())==0)
exit(printf("Mensaje 1 Proceso Hijo %d con pid=%d\n",i,getpid()));
waitpid(pid, NULL, 0);
}
return(0);
}
(todo sea por ahorrar dos líneas, ya dije que era siendo un poco putilla).
Ferdy escribió:1) printf devuelve el número de caracteres impresos, así que tus hijos siempre mueren con estado 'fallido'.
2) fork() devuelve pid_t, no int.
3) El estilo no es K&R. Las funciones tienen las llaves en líneas aparte.
4) No incluir cabeceras no es utilizar recursos
5) Tampoco lo es no poner líneas en blanco jaja
6) return(0) no es suficientemente pedante

). Lo dicho, pierdes. jaja
) no te hace falta, porque no usas ninguna constante en el waitpid).
[ $ ~ ] { sed -e '/^[[:blank:]]*$/d' | wc -l ; } < tresprocs.c
20
Ferdy escribió:Si a eso le añades las cabeceras que te faltan, y que yo lo he 'sobre-exagerado', creo que la tenemos igual de pequeña![]()
escufi escribió:
Lo siento con esto te vas de cabeza a la Frase de la Semana en EOL :-D juas menudas interpretaciones sacaran de lo de sobre-exagerado y el tamaño
Ferdy escribió:Yo aposté por algo pedante
Ferdy escribió:¿ 'read' 'write' para que ?
Ferdy escribió: Sea como fuere era muy díficil adivinar el ejercicio.