linux 运行和结束项目
start.sh
#!/bin/bash
nohup /usr/local/jdk8u262-b10/bin/java -Dfile.encoding=utf-8 -jar /data/www/jar/user-api.jar --spring.profiles.active=prod --server.port=3000 &>/dev/null &
stop.sh
#!/bin/bash
ps aux |grep user-api.jar |grep -v grep |awk '{print $2}' |xargs kill -9
java
#显示java运行的程序
jps
#查询名字 GH开头的服务
jps | findstr GH
# 使用for 命令杀死运行的服务 tokens 命令查询的结果 列, tskill 结束进程 ,@不输出tskill命令
for /f "tokens=1 delims= " %pid in ('jps ^|findstr GH') do @tskill %pid
#以端口查询 模式结束进程
for /f "tokens=5 delims= " %pid in ('netstat -ano^|findstr 6379') do @tskill %pid
#显示进程
tasklist /svc
#以进程名字结束进程
taskkill /im javaw.exe /f
nginx
#结束所有进程
taskkill /f/t/im nginx.exe
#检查配置文件
nginx.exe -t
#启动
start nginx.exe
#停止
nginx.exe -s stop
#重启
nginx.exe -s reload
批处理结束指定端口进程号
情况1:如果直接在Dos窗口中:(端口前面加冒号,是为了匹配的更精确)
for /F "tokens=5" %i in ('netstat -ano ^| findstr :8080') do taskkill /F /PID %i /T
情况2:如果在bat批处理脚本中调用,需要把上面的%i改成%%i:
for /F "tokens=5" %%i in ('netstat -ano ^| findstr :8080') do taskkill /F /PID %%i /T
结束进程
# 普通的结束进程,一些绑定就没办法了。那就用第二个
taskkill/pid 2396
# 直接越塔强杀
2. ntsd -c q -p pid 2396
删除文件和文件夹
# ----(用于删除文件夹下的子文件)
del/s/q d:\123\*.*
# ----(用于删除文件夹)
rd/s/q d:\123
#/s参数为子目录
#/q参数为不用确认
移动文件夹及下级所有文件夹内所有指定后缀文件到另一个路径
# 把E:\下的.mp3、.lrc 移动到D:\下
for /r E:\ %%i in (*.mp3 *.lrc) do ( move /y "%%i" "D:\" )
可以制作成选择性运行不同程序的工具
@echo off
set /p PP=
if %PP%==1 goto Callback1
if %PP%==2 goto Callback2
:Callback1
#这里一般替换为需要执行的程序 比如QQ start C:\Program File\QQ\bin\QQ.exe
echo 调用functionpause1
:Callback2
echo 调用functionpause2
#输入1 就会执行 “调用functionpause1”
#输入2 就会执行 “调用functionpause2”
定时关机
@echo off
echo 你想几分钟后关机:
set /p timeS=
set /a time=%timeS%*60
shutdown /s /t %time%
echo 你想取消定时关机吗?
echo 想请输入1,不想请输入0;
set /p ch=
if %ch%==1 (shutdown -a)
pause
其他常用命令
# 删除服务
SC DELETE MYSQL8
#等待10秒 可按任意键确认
timeout 10
#设置一个变量
set _str=I'm test