puede usar esta sintaxis para redirigir todas las salidas stderr y stdout a stdout.txt
<cmd> <args> > allout.txt 2>&1
Si el servidor se inicia en el mismo terminal, entonces es el stderr del servidor el que presumiblemente se escribe en el terminal y no se captura.
La mejor manera de capturar todo sería ejecutar:
script output.txt
antes de iniciar el servidor o el cliente. Esto lanzará un nuevo shell con todos los resultados de la terminal redirigidos a output.txt, así como a la terminal. Luego inicie el servidor desde dentro de ese nuevo shell y luego el cliente. Todo lo que ve en la pantalla (tanto su entrada como la salida de todo lo que escribe en la terminal desde dentro de ese shell) se escribirá en el archivo.
Cuando haya terminado, escriba "exit" para salir del shell ejecutado por el script
comando.
Aunque no es POSIX, bash 4 tiene el &>
operador:
command &> alloutput.txt