帮我写一个 可以在ubuntu 下运行的脚本,可以查找18886端口是否被占用,如果被占用的话就kill掉该进程
时间: 2024-03-22 11:41:18 浏览: 9
好的,以下是一个可以在 Ubuntu 下运行的脚本,可以查找 18886 端口是否被占用,如果被占用的话就 kill 掉该进程:
```bash
#!/bin/bash
# 检查 18886 端口是否被占用
if lsof -Pi :18886 -sTCP:LISTEN -t >/dev/null ; then
# 如果端口被占用,kill 掉该进程
sudo kill $(sudo lsof -t -i:18886)
echo "端口 18886 被占用,已经 kill 掉该进程"
else
echo "端口 18886 没有被占用"
fi
```
你可以将上述代码保存为一个脚本文件(例如 `check_port.sh`),然后在终端中运行 `bash check_port.sh` 命令来执行该脚本。注意,执行该脚本需要使用管理员权限,因此可能需要输入 sudo 密码。
相关问题
Ubuntu python脚本端口被占用
如果你的Python脚本在Ubuntu上遇到了端口被占用的问题,可以尝试以下解决方案:
1. 查看端口占用情况:在终端输入命令 `sudo netstat -lnp | grep 端口号`,其中的端口号是你的Python脚本在使用的端口。如果该端口被占用,会显示出占用该端口的进程的PID。
2. 结束占用该端口的进程:在终端输入命令 `sudo kill -9 进程PID`,其中的进程PID是上一步中查到的占用该端口的进程的PID。这样就可以结束该进程并释放该端口。
3. 修改Python脚本使用的端口:如果上述方法无法解决问题,可以尝试修改Python脚本使用的端口,比如将原来的端口号改为另一个未被占用的端口号。
4. 重启网络服务:如果仍然无法解决问题,可以尝试重启网络服务。在终端输入命令 `sudo service networking restart`,这样可以重启网络服务并释放所有占用的端口。
帮我写一个脚本,在ubuntu系统的服务器开机时,自动运行部署的jar包
好的,以下是在Ubuntu系统的服务器开机时自动运行部署的jar包的脚本:
1. 首先打开终端,输入以下命令创建一个新的脚本文件:
```
sudo nano /etc/init.d/run_jar.sh
```
2. 在编辑器中,输入以下内容:
```
#!/bin/sh
# description: Script to start/stop the jar file
# processname: myjarfile
# Set the path to the jar file
JAR_PATH=/path/to/myjarfile.jar
case $1 in
start)
echo "Starting myjarfile..."
nohup java -jar $JAR_PATH > /dev/null 2>&1 &
;;
stop)
echo "Stopping myjarfile..."
kill $(ps aux | grep 'myjarfile' | awk '{print $2}')
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
```
注意:需要将 `JAR_PATH` 替换为实际的 jar 文件路径。
3. 保存并关闭文件。
4. 接下来,需要将脚本文件设置为可执行文件。在终端中输入以下命令:
```
sudo chmod +x /etc/init.d/run_jar.sh
```
5. 最后,将脚本文件添加到系统启动项中。在终端中输入以下命令:
```
sudo update-rc.d run_jar.sh defaults
```
至此,脚本就已经设置成功了。在下一次系统重启后,jar 文件将会自动运行。
如果需要手动启动/停止/重启 jar 文件,可以使用以下命令:
```
sudo /etc/init.d/run_jar.sh start
sudo /etc/init.d/run_jar.sh stop
sudo /etc/init.d/run_jar.sh restart
```