我想测试我的服务器程序,(我叫它A)。所以当A被这个命令执行时
$VALGRIND ./test/server_tests 2 >>./test/test.log
,它被阻止侦听连接。之后,我想使用
nc 127.0.0.1 1234 < ./test/server_file.txt
因此A可以被解除阻止并继续。问题是我必须在两个不同的终端中手动键入这些命令,因为它们都阻塞了。我还没有找到一种在单个shell脚本中自动执行此操作的方法。任何帮助,将不胜感激。
分析解答
您可以使用&在后台运行该过程,然后继续使用相同的shell。
$VALGRIND ./test/server_tests 2 >>./test/test.log &
nc 127.0.0.1 1234 < ./test/server_file.txt
如果您希望服务器即使在关闭终端后仍能继续运行,则可以使用nohup:
nohup $VALGRIND ./test/server_tests 2 >>./test/test.log &
nc 127.0.0.1 1234 < ./test/server_file.txt