-
2019-10-16 13:54:28
1.创建start.sh
#!/bin/sh nohup java -jar 文件.jar & echo $!> /根目录一直到文件/obj.pid
2.创建stop.sh
#!/bin/sh PID=$(cat /根目录一直到/obj.pid) kill -9 $PID
3.创建obj.pid文件
4.以上三个文件和jar包放在一个目录下面
更多相关内容 -
linux下启动停止命令脚本dc.sh
2020-03-27 13:29:42linux下启动停止命令脚本dc.sh -
linux通用版本jar启动脚本傻瓜式启动 run.sh
2020-06-11 14:26:23linux通用版本jar启动脚本傻瓜式启动 sh run.sh start 启动 sh run.sh stop 停止 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,... -
server.sh jar包启动、关闭脚本
2019-05-27 02:37:40spring boot、springcloud项目一般为jar包形式运行,每次启动及关闭输命令很不爽,切且vm调优比较麻烦,编写shell脚本,将JVM调优参数及日常命令进行封装,操作简单,还不易出错,妙哉妙哉,此脚本已在我司正式使用... -
linux双击执行sh脚本
2021-03-31 19:07:07linux双击执行sh脚本 文章目录linux双击执行sh脚本1、在桌面上新建一个Auto.sh脚本文件2、打开终端在桌面目录下执行以下命令进行权限设置:3、设置Terminal启动命令4、双击启动程序开机自启程序1、在home搜索:start...linux双击执行sh脚本
文章目录
链接1程序运行所需环境: 运行系统:Ubuntu16.04 运行环境:ROS Kinetic 程序语言:Ubuntu1604自带的Python2.7以及sh脚本文件
双击启动程序
1、在桌面上新建一个Auto.sh脚本文件
1、文件里面内容如下:
#! /bin/bash # 开头这句话必不可少 source /opt/ros/kinetic/setup.bash # 启动ros环境 gnome-terminal -x bash -c "roscore" & # 启动roscore命令 sleep 2 gnome-terminal -x bash -c "rviz" & # 启动rviz 点击保存关闭。
2、打开终端在桌面目录下执行以下命令进行权限设置:
sudo chmod +x Auto.sh
二、添加一个Terminal到桌面
在home中搜索Terminal,找到后拖到桌面上,如下图所示3、设置Terminal启动命令
在桌面的
Terminal
图标上右键菜单里选择Properties
,然后在Command
那一栏中填入Auto.sh
文件的路径,如下图所示:(获取路径方法:可以直接在Auto.sh文件上右键点击copy,然后在Command里面粘贴即可。)
然后点击关闭按钮进行关闭。(也可以顺便更换图标,点击左上角那个图标,选择需要更换的图片即可,也可以重命名图标名称。)
可以使用vim查看xxx.desktop文件,修改里面的属性
内容如下
[Desktop Entry] Name=Terminal // 名称 Comment=Use the command line Keywords=shell;prompt;command;commandline;cmd; TryExec=gnome-terminal Exec=/home/zhongsy/visual_script/test_visual.sh // 命令 Icon=/home/zhongsy/视觉调试.jpg // 图标 Type=Application X-GNOME-DocPath=gnome-terminal/index.html X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gnome-terminal X-GNOME-Bugzilla-Component=BugBuddyBugs X-GNOME-Bugzilla-Version=3.18.3 Categories=GNOME;GTK;System;TerminalEmulator; StartupNotify=true X-GNOME-SingleWindow=false OnlyShowIn=GNOME;Unity; Actions=New X-Ubuntu-Gettext-Domain=gnome-terminal Name[en_US]=visul_debug
4、双击启动程序
双击刚刚操作完的图标,即可启动基于ROS的rviz程序,如下图所示:
如果出现如上图所示的界面,说明运行成功了。
————————————————开机自启程序
1、在home搜索:start,如下图所示:
打开之后如下图所示:
2、点击Add打开添加窗口,在Command里面添加Auto.sh文件的路径,如下图所示:
(获取路径方法:可以直接在Auto.sh文件上右键点击copy,然后在Command里面粘贴即可。)
添加完毕的窗口如下图所示:
点击close即可。
3、这时候可以重启电脑即可看到,rviz程序也随机启动了。
gnome-terminal用法
[基本用法]
gnome-terminal命令用于打开一个新的终端,直接在命令行
$ gnome-terminal
就可以打开一个新的终端,有一些常用参数:
打开后自动最大化
$ gnome-terminal --maximize
打开后全屏
$ gnome-terminal --full-screen
设置标题
$ gnome-terminal --title="new title"
打开多个终端,多个tab
$ gnome-terminal --window --window #打开两个 $ gnome-terminal --window --tab --window --tab --tab #打开两个,第一个两个tab,第二个3个tab
设置打开的位置和大小(宽度x高度+左侧偏移量+上方偏移量)
$ gnome-terminal --geometry=80x25+10+10
[启动后自动执行命令]
有两个参数可以实现这个功能,-e和-x,这两个区别在于:
- -e 可以出现多次,如果在所有–window前面,表示对所有window和tab起作用,如果在–window或者–tab后面,表示只针对这个tab执行,要注意-e后面只能有一个参数,也就是说如果有空格,需要用引号,具体见后例
- -x 只能出现一次,在-x后面的所有内容,均认为是要执行的命令,所以可以出现空格,这些命令是针对所有tab都执行的
比如:
$ gnome-terminal -e ls $ gnome-terminal -x ls
这两个的执行结果都一样,就是新的终端闪一下就没了,有几种办法:
-
一种是修改terminal的配置,在terminal点右键,选择Profiles->Profile Preferences,然后找到Title and Command,里面有一项When command exits,后面选择为Hold the terminal open,然后就可以了
-
第二种是把结果重定向给less,这样less执行完之前,是不会退出的
$ gnome-terminal -x ls|less
- 第三种是在bash里面再启用一个bash
$ gnome-terminal -x bash -c "ls; exec bash" $ gnome-terminal -e 'bash -c "ls; exec bash"'
注意最后一个命令是
exec bash
,如果直接写bash也行,相当于开了一个子shell,这样有个**缺点,就是直接按关闭按钮的话,会提示还有程序在运行,**需要注意的是,这里执行的命令,在调用.bashrc
之前,所有.bashrc的
所有配置都无效,如果需要用到.bashrc
里面的内容,有个变通的办法,在.bashrc
最后加上一句--------------------.bashrc-------------------- 其他内容 #最后加上这句 evel "$RUN_AFTER_BASHRC" -----------------------------------------------
然后在写命令的时候,修改
RUN_AFTER_BASHRC
这个变量,就可以实现让.bashrc
调用这个命令$ gnome-terminal -x bash -c 'export RUN_AFTER_BASHRC="ls --help"; exec bash'
或者下面的写法比较简单(注意对所有tab生效),也不会自动关闭了
$ RUN_AFTER_BASHRC="ls" gnome-terminal
[打开一个terminal并预先输好一段文字]
这个需求比较偏门,解决方法不错,就是利用expect这个工具,最后的程序如下
----------------------------myprompt----------------------- #!/usr/bin/expect #trap sigwinch and pass it to the child we spawned #this allows the gnome-terminal window to be resized trap { set rows [stty rows] set cols [stty columns] stty rows $rows columns $cols < $spawn_out(slave,name) } WINCH set arg1 [lindex $argv 0] # Get a Bash shell spawn -noecho bash # Wait for a prompt expect "$ " # Type something send $arg1 # Hand over control to the user interact exit ------------------------------------------------
调用方法(注意文件的路径要写全):
gnome-terminal -e "./myprompt \"my text to be posted\""
[添加一个”用vim打开“的脚本]
研究这个gnome-terminal的目的,是为了写一个脚本,实现右键选一个文件,然后可以用vim打开,最后的脚本文件如下(两种方法都写了)
-------------------~/.gnome2/nautilus-scripts/OpenWithVIM---------------------- #!/bin/bash gnome-terminal -x bash -c 'export RUN_AFTER_BASHRC="vim $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"; exec bash' #RUN_AFTER_BASHRC="vim $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" gnome-terminal -------------------------------------------------------------------------------
不过选中多个文件还不行,因为也没这个需要,所以暂时就这样了
-
linux环境启动和关闭脚本
2022-02-17 17:18:08启动脚本 java -jar jar包名称 --spring.config.location=/外部配置文件路径...关闭脚本 port=端口号 pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }'); if [ -n "$pid" ]; then ki启动脚本
java -jar jar包名称 --spring.config.location=/外部配置文件路径/配置文件名称 > catalina.out 2>&1 & echo "开始启动服务-----------"
关闭脚本
port=端口号 pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }'); if [ -n "$pid" ]; then kill -9 $pid; fi echo "开始关闭服务"
以.sh文件格式保存
-
linux 定时重启程序脚本.txt
2019-08-16 17:09:33定时启动,* 8,18 * * * /test/test.sh 这里设置每天的上午8点到下午6点之间每分钟执行一次脚本 .../test/test.sh 是shell脚本的绝对路径 设置好后重启crontab服务,命令如下: service crond restart 设置完成 -
linux 关闭进程脚本
2019-04-25 17:00:35linux 关闭进程脚本说明代码 说明 在写完 start.sh 脚本的时候, 很经常的 需要重启服务器,就需要关闭服务器再启动, 一般的就是 按照 命令ps -ef |grep java … 去找到对应的进程号 在kill -9 ${proid}, 很烦… ...说明
在写完 start.sh 脚本的时候, 很经常的 需要重启服务器,就需要关闭服务器再启动, 一般的就是 按照 命令ps -ef |grep java … 去找到对应的进程号 在kill -9 ${proid}, 很烦…
下面的代码
就实现了 自己写一个shutdown 关闭进程
具体的逻辑为- ps -ef |grep ${关键字} 找出自己程序可以唯一找到的关键字
- 找到后检索出进程号kill -9 ¥{proid}
代码
#1. 定义关键字查询进程信息 findstr=`echo "jar test-gradle-jar-1.0-SNAPSHOT.jar"` #2. 查询进程信息保存于proids ps -ef|grep '${findstr}' |grep -v 'grep'|awk '{print $2}' i=0 for proid in `ps -ef|grep "${findstr}"|grep -v 'grep' |awk '{print $2}'` do proids[$i]=$proid let i=$i+1 done #3. 判断proids的数据 if [ ${#proids[*]} -eq 0 ]; then echo "not find proid" elif [ ${#proids[*]} -eq 1 ]; then kill -9 ${proids[0]} echo "proid[${proids[0]}] was killed" else for proid in ${proids[@]} do if [ $proidstr ]; then proidstr="$proidstr,$proid" else proidstr="$proid" fi done echo "存在多条进程[${proidstr}], 请查询后再删除" fi
-
linux下双击执行.sh脚本文件
2021-12-19 12:12:391.当写好一个.sh脚本文件后,给他赋予执行权限后,双击的时候,默认是以文本编辑器打开的,无法运行该脚本文件。 2.打开终端。 3.输入如下命令,需要联网: sudo apt install dconf-editor 4.安装完成之后,... -
springboot项目关闭脚本
2020-05-06 10:23:01springboot项目关闭脚本,将文件上传linux服务器,修改需要关闭的jar文件,赋予执行权限,通过./***.sh启动 -
Linux-Screen-Off:在 Linux X11 上关闭屏幕的脚本
2021-07-03 17:02:50这个简单的脚本在 Linux X11 系统上关闭屏幕 使用它的最佳方法是将其复制到您的主文件夹 打开终端并运行chmod a+x screenoff.sh 如果你想使它成为一个广泛的系统命令运行sudo cp screenoff.sh /usr/bin/ 然后为其... -
Linux跑脚本用sh和./有什么区别?
2021-05-14 22:17:54如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linux默认是bash),如果指定了解释器,那么就将该脚本交给指定的解释器.比如a.run文件内容是这个:#... -
Linux通用java程序启动脚本代码实例
2021-01-09 02:52:15虽然写起动shell的频率非常不高。。。但是每次要写都要对付一大...#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用。 # #Author: tudaxia. -
Linux添加shell(.sh)脚本并添加定时任务
2021-05-10 08:14:00一、添加sheel脚本1、首先创建一个执行程序:vim a.sh2、编辑: #!/bin/bashpython3 python.py>> test2.log 2>&13、添加权限:chmod +x ./a.sh4、查看执行结果: ./a.sh二、添加定时任务安装:apt-... -
linux 启动/关闭多个py脚本
2022-01-06 14:30:30当耗时过长的情况下,我们使用 ssh 远程登录到 linux 服务器上容易造成超时自动断开连接,当用户注销时,终端会收到 hup(hangup)信号从而关闭其所有子进程,会导致正在执行中的 python 脚本被中断,为了解决这一问题... -
用于shell脚本(sh,bash和所有POSIX shell)的优雅的选项解析器-Linux开发
2021-05-27 17:31:50用于shell脚本(符合Posix的)getoptions的优雅选项解析器用于shell脚本(sh,bash和所有POSIX shell)getoptions的优雅选项解析器是一种新的选项解析器(生成器),它是用POSIX兼容的shell脚本编写的,于2020年8月... -
linux一键启动、关闭、重启springboot项目脚本
2019-10-10 09:27:02修改jar包名称,修改脚本权限为777。 使用方法: ./server.sh start(stop/restart) -
linux用shell脚本关闭指定应用
2020-09-20 14:57:49我们可以更加自动化,新建一个shut.sh脚本,写入以下内容即可。 #!/bin/bash tmp=`ps -ef | grep YOUR_NAME | grep -v grep | awk '{print $2}'` echo ${tmp} for id in $tmp do kill -9 $id echo "killed $id -
linux 环境下 xx.sh 脚本无法正常启动 \r\n 问题解决
2021-12-08 10:10:34原因是 windows 下的换行符是 \r\n,而 linux 下的换行符是 \n 1、第一种解决方案: 首先 安装 dos2unix yum install dos2unix -y 第一步 :chmod +x startBatch.sh 第二步 :你只要输入dos2unix startBatch.sh... -
linux开机自动执行.sh脚本
2018-05-10 23:36:13编写开机自动执行的脚本auto.sh #!/bin/sh #chkconfig: 2345 20 80 #description:Server reboot.Execute auto.sh #client post port 80 redirect 9527 #sudo iptables -A PREROUTING -t nat -i eth0 -p tcp —... -
关于Zookeeper一键启动/关闭脚本所产生的乌龙事件
2021-01-09 11:42:05大家都知道在Hadoop集群开启/关闭Zookeeper集群的时候,需要到不同的节点ZK的bin目录下执行对应的启动/关闭脚本,十分的麻烦。所以就有了以下脚本的产生~ 一键开启Zookeeper vim /export/servers/zookeeper-3.4.5... -
在Linux中执行Shell脚本的4种方法的总结
2021-05-11 18:59:53在Linux中执行Shell脚本的4种方法的总结,即在Linux中运行Shell脚本的4种方法:方法1: 切换到Shell脚本所在的目录(在这种情况下centos 执行shell脚本,称为工作目录)并执行Shell脚本:复制代码,代码如下:cd / data / ... -
JAVA,jar包启动、关闭sh脚本
2020-04-16 17:05:29现在有一SpringBoot项目,该项目制作成的jar包名为: springboot-learning-0.0.1-SNAPSHOT.jar.jar . 将该jar包部署到Linux平台的 /app/...其启动 start.sh 脚本命令如下: #!/bin/sh rm -f tpid nohup java -Xms... -
Linux下启动和停止jar包运行的脚本
2018-09-17 10:49:46Linux下启动和停止jar包运行的脚本 -
如何在Linux中使用Shell脚本终止用户会话?
2021-05-11 07:02:42终止所有用户会话下面的shell脚本将通过获取用户会话的tty值来终止所有用户的活动会话,并使用pkill命令将其终止:[root@localhost ~]# vim kill-user-sessions.sh#!/bin/bashusession=$(w | awk '{if (NR!=1) {... -
linux 启动服务,关闭服务脚本
2016-12-14 11:08:17start.sh#!/bin/sh sleep 2 kill -s 9 `ps -ef | grep /home/crmhdcc/web/huacrm/apache-tomcat-7.0.64/ | grep -v grep | awk '{print $2}'` rm -rf /home/crmhdcc/web/huacrm/apache-tomcat-7.0.64/work/Catalina ... -
Linux shell脚本中字符串连接的方法
2021-01-10 09:25:29如果想要在变量后面添加一个...又如: 代码如下:[root@localhost sh]# var1=/etc/[root@localhost sh]# var2=yum.repos.d/[root@localhost sh]# var3=${var1}${var2}[root@localhost sh]# echo $var3/etc/yum.repos.d/ -
shell脚本 使启动或关闭在Linux中部署的项目更加简单
2022-05-08 12:50:17shell脚本 使启动或关闭在Linux中部署的项目更加简单 通过 sh shell.sh start 命令启动项目 通过 sh shell.sh stop 命令关闭项目 使你不在使用大量的命令去启动和关闭你所部署的项目 -
Linux中执行shell脚本命令的4种方法总结
2021-05-12 05:56:03方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码 代码如下:cd /data/shell./hello.sh./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响...