时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell
时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell
opensuse 一些常用命令:
service xxx start/stop 运行或停止服务
chkconfig xxx on/off 将服务加入启动,重启后永久生效
ps -ef 查看所有当前进程
kill PID 终止某个ID 的进程
修改权限,让普通用户具有 root 权限:
1)修改 /etc/passwd 将用户id 修改成 0
如: hz:x:0:0; huangzhi;; /home/hz/bin/bash
2) 修改 /etc/sudoers 在其中追加:
hz ALL=(ALL) ALL
给自己的某个 jar 包做成 linux 服务,分三步:
1)编写jar 包运行脚本 youservice.sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONNECT_HOME=/usr/local/myproject
cd $CONNECT_HOME
java -server -jar $CONNECT_HOME/my-server-launcher.jar &
2)编写 /etc/init.d/youservice shell脚本
#!/bin/bash
#
# Description: 测试 youservice
#
# Source function library
. /lib/lsb/init-functions
# END INIT
case "$1" in
start)
echo "Starting youservice server"
#重点注意是 >/dev/null 2>&1 , 这行命令导致终端不会输出信息。
/bin/bash /usr/local/myproject/youservice.sh >/dev/null 2>&1
;;
stop)
PID=`ps -ef | grep 'my-server-launcher.jar' | grep -v grep | awk '{print $2}'`
echo PID
echo "Stopping youservice server"
if [ ! -z "$PID" ]; then
kill -15 $PID
fi
;;
restart)
$0 stop
$0 start
;;
dump)
PID=`ps -ef | grep 'my-server-launcher.jar' | grep -v grep | awk '{print $2}'`
if [ ! -z "$PID" ]; then
kill -3 $PID
fi
if [ $? -ne 0 ]
then
echo "Failed to dump youservice."
exit 1
else
echo "Dumped youservice."
fi
;;
*)
echo "Usage: youservice { console | start | stop | restart | status | dump }"
esac
3)执行 hkconfig youservice on 将服务加入启动
kconfig -a youservice on
服务脚本修改后,最好执行一下 systemctl --system daemon-reload 可能是用来刷新的
时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell的更多相关文章
- 时隔3年,再次折腾BlackBerry 8830!
2010年手头换得8830,之后就是好几番刷机.解SPC.倒腾各种软件..算软件注册码..那个时候记得最难弄的注册码就是crunchSMS.需要运行虚拟机来从内存地址读取注册码..不过黑莓真的很经得起 ...
- 安装opensuse的笔记-重庆linux开源组织
mate: 伙伴 matey: 融洽的, 易于亲近的. get matey with sb. poison: a. 有毒的, n.毒药/毒酒v. 下毒, 破坏, 污染 slander [ 撕烂的~~] ...
- Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...
- 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出
有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...
- 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文
简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...
- 简单的两数之和再次乱入<< Add Two Numbers >>
请看题目描述: You are given two linked lists representing two non-negative numbers. The digits are stored ...
- android:首页点击返回键,两秒内再次点击退出系统
//记录用户首次点击返回键的时间 private long firstTime = 0; /** * 通过监听keyUp 实现双击返回键退出程序 * @param keyCode * @param e ...
- 时隔两天,三星再称GalaxyFold已准备就绪,王自如的脸还好吗?
编辑 | 禾斗 出品 | 于见(mpyujian) 据消息人士透露,三星已经完成对其有缺陷的折叠智能手机进行了重新设计,Galaxy Fold准备适时再度推出,但问题是,作为消费者,我们准备好了吗? ...
- 无U盘安装Linux openSUSE(通过硬盘安装Linux)
一.说明 为什么会想着用硬盘安装Linux?只是因为我陆陆续续买了两个U盘,然后它们都丢了,就没再买了.然而现在又想装个openSUSE,没有U盘,只能想办法通过硬盘安装. 记录自己走过的弯路,同时也 ...
随机推荐
- C# 數據事務操作
public sealed class SQLFunc { #region Methods #region OpenConnection /// <summary>指定包含連接字串的字串 ...
- 温习SQL server
做了好几年的管理工作,技术上有些退步,现在又一一捡起来啦, 以下最近几天看到的好文章, SQL Server约束 http://blog.csdn.net/qq61394323/article/det ...
- make file
CPPUTEST_USE_EXTENSIONS = Y如果没有这一句定义,CppUTestExt/MockSupport.h和CppUTestExt/MockSupport_c.h文件中的定义就不能用 ...
- 关于64位windows2003 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 的问题
我了个去啊! 在自己机器上测试通过的excel导入功能在客户服务器上死活都不好用,查了半天后来发现客户服务器是64位的win2003!! try catch捕捉问题为:未在本地计算机上注册“Micro ...
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...
- input按钮事件的一个隐藏bug,分享出来
我的页面有一个input按钮: <input name="Delete" type="button" value="Delete" c ...
- 奇怪的margin,padding,table
为什么有的时候margin,padding不管用?写了float以后就管用了? 为什么table 不给width,就默认是100%,里面的td会平均分配teble的宽度,若你想给其中一些td宽度,剩下 ...
- js点击按钮倒计时setTimeout和setInterval
setTimeout() 用于在指定的毫秒数后调用函数或计算表达式,只执行 code 一次. setInterval() 可按照指定的周期(以毫秒计)来调用函数或计算表达式,不停地调用函数,直到 cl ...
- 用过的一个jquery插件实现转盘效果还不错手机兼容
(function($) {var supportedCSS,styles=document.getElementsByTagName("head")[0].style,toChe ...
- Java实现多线程的两种方式
实现多线程的两种方式: 方式1: 继承Thread类 A: 自定义MyThread类继承Thread类 B: 在MyThread类中重写run() C: 创建MyThread类的对象 D: 启动线程对 ...