不少用ROS的同学特别是做slam方向的,常常需要一次性开很多终端,输入不同的命令来执行算法,跑数据包,同时还需要切换文件夹,才能找到数据结果。因此本文章主要是基于shell脚本实现自动化执行命令,以下内容是基于跑slam仿真实验做出的脚本文件,仅供参考。
首先需要熟悉一些我们常用的功能命令
查询终端 pid:
每一个终端都其实有对应的pid(身份证),我们在脚本中对终端操作,需要单独对特定的终端进行特定的动作,主要就是靠pid来进行识别你要的终端
ps aux | grep 'name'

Shell 获取进程 pid:
在已知进程名(name)的前提下, 获取进程 pid 可以通过 grep 获取 pid 的方法为(这里添加 -v grep是为了避免匹配到 grep 进程):
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
Shell 关闭终端:
kill -2 <pid>
pkill -f name
-2杀死进程相当于键盘打断ctrl+c,可以通过signal的SIGINT捕捉到,从而进行获得进程终止信号后的一系列操作。

3628

被折叠的 条评论
为什么被折叠?



