Parar y reanudar Procesos

Estoy haciendo unas practiquillas con sockects y pretendo probar time_outs en las recepciones con select , más concretamente en la recuperacion de un servidor al no recibir las confirmaciones de un cliente.
Todo lo concerniente a la programación está finikitao [666] .

Pero mi problema es que para probar que el servidor se recupera de la perdida de paquetes de asentimiento del cliente , quiero parar el proceso cliente , que es un cliente tftp cualquiera ( así el servidor verá que no llegan tramas de asentimiento durante un tiempo).Y al rato quiero volver a reanudar al cliente para que siga funcionando.

Para parar el proceso cliente, pruebo con Ctrl-Z con lo que queda usando ps-l:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 T 500 27524 27489 0 83 0 - 388 finish pts/3 00:00:00 tftp

Que no consigo reanudarlo, no sé que señal tengo que mandar a tftp ( he mirado en asm/signals.h y no consigo saber cual mandar ).
Tampoco sé si con Ctrl-Z es el mejor modo para detener el proceso.

Pues eso , a ver si alguien me puede echar una manita :Ð
pd: Se supone que no voy a poder meter mano al cliente, ya que este es un cliente Tftp cualquiera ( y de momento sólo me he construido el servidor, el cliente irá después [666] )

Salu2
No sé si es lo que pides, es posible que no pero bueno.

Cuando le das a Ctrl+z vuelves a poder escribir en la consola, así que poniendo "fg" se vuelve a activar en foreground y con "bg" se activa en background.

Lo dicho, no sé si es esto lo que pides [ayay]
juas juas
gracias kedao si yo sabía k tenía k se fácil pero no sakaba la respuesta , ahora sólo falta arreglar el programilla por que si que tenía algún bug [toctoc]
y de nuevo asiasssss asiasssssssss [bye]
También puedes pararlo/reanudarlo mandando la señal SIGSTOP o SIGCONT ;) (man kill)
Churly escribió:También puedes pararlo/reanudarlo mandando la señal SIGSTOP o SIGCONT (man kill)


Ya , la verdad es que sí sabía eso, lo que no sé es como hacerlo , me explico, mi programa está en un terminal que se tiene que ejecutar en primer plano y claro no sé como mandarle SIGSTOP desde ése terminal , amos ni desde otro [+risas] , más que nada por que los procesos de un terminal son independientes de los otros ( amos que no me salen los procesos de uno con un ps del otro). Cómo se haría??
Ahh y por cierto el man kill me lo leí bastantes veces incluso algún enlace que aparece en él [+risas] ... pero como que no me aclaraba mucho :-p

Pero bueno , me estoy bajando la debian así que toca cambio [burla2] [burla2] [burla2] , ya que estamos , alguna recomendación para un redhatero ??

Salud2
Pues es muy fácil, para mandar una señal a un proceso:

kill -9 1526

Sería mandarle la señal nº9 (SIGKILL, mira kill -l) al proceso con ID 1526. Puedes mandar también la señal a todos los procesos con un determinado nombre con killall.


Para ver los procesos de todo el sistema con su PID:

ps ax

a muestra procs de otros usuarios
x muestra procesos que no están asociados a una terminal (como daemons)

Como siempre: man ps
Churly escribió:ps ax

a muestra procs de otros usuarios
x muestra procesos que no están asociados a una terminal (como daemons)


Gracias tío :D

Como siempre: man ps


Como Siempre: No te akostarás si saber algo más de linux [qmparto] [qmparto]

Salu2
6 respuestas