时隔两年最近再次折腾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的更多相关文章

  1. 时隔3年,再次折腾BlackBerry 8830!

    2010年手头换得8830,之后就是好几番刷机.解SPC.倒腾各种软件..算软件注册码..那个时候记得最难弄的注册码就是crunchSMS.需要运行虚拟机来从内存地址读取注册码..不过黑莓真的很经得起 ...

  2. 安装opensuse的笔记-重庆linux开源组织

    mate: 伙伴 matey: 融洽的, 易于亲近的. get matey with sb. poison: a. 有毒的, n.毒药/毒酒v. 下毒, 破坏, 污染 slander [ 撕烂的~~] ...

  3. Java执行shell脚本并返回结果两种方法的完整代码

    Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...

  4. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

  5. 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...

  6. 简单的两数之和再次乱入<< Add Two Numbers >>

    请看题目描述: You are given two linked lists representing two non-negative numbers. The digits are stored ...

  7. android:首页点击返回键,两秒内再次点击退出系统

    //记录用户首次点击返回键的时间 private long firstTime = 0; /** * 通过监听keyUp 实现双击返回键退出程序 * @param keyCode * @param e ...

  8. 时隔两天,三星再称GalaxyFold已准备就绪,王自如的脸还好吗?

    编辑 | 禾斗 出品 | 于见(mpyujian) 据消息人士透露,三星已经完成对其有缺陷的折叠智能手机进行了重新设计,Galaxy Fold准备适时再度推出,但问题是,作为消费者,我们准备好了吗? ...

  9. 无U盘安装Linux openSUSE(通过硬盘安装Linux)

    一.说明 为什么会想着用硬盘安装Linux?只是因为我陆陆续续买了两个U盘,然后它们都丢了,就没再买了.然而现在又想装个openSUSE,没有U盘,只能想办法通过硬盘安装. 记录自己走过的弯路,同时也 ...

随机推荐

  1. python调用jar包类

    #!/usr/bin/python2.7#coding:utf8import sysimport jpypeimport os.path phone_num = sys.argv[1]#jarpath ...

  2. python代码中指定时区获取时间方法

    os.environ['TZ'] = 'Asia/Shanghai' os.environ['TZ'] = 'Europe/London' hour_cur = time.strftime('%H')

  3. Mybatis保存数据时事务问题

    今天不小心在sqlplus中用for update ,然后事务没提交,结果在项目中一直保存不进去数据,找了很久发现是sqlplus中的事务没提交,哎,这种问题真得避免啊,一定要细心啊!

  4. shell_基础知识

    参考: http://blog.csdn.net/kaizi318/article/details/9343551 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告 ...

  5. delphi软件启动的顺序解密。

    运行顺序 1.主窗体的oncreate -- onshow ---- onActivate ---- onResize --- 然后继续走,这个时候主窗体已经显示出来了,猜想delphi的思路是先让主 ...

  6. angularJS学习之旅(1)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. __future__

    [__future__] __future__用于改变python特性. 参考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb4 ...

  8. Linux网络编程-readn函数、writen函数、readline函数实现

    readn函数功能:在网络编程的读取数据中,通常会需要用到一个读指定字节才返回的函数,linux系统调用中没有给出,需要自己封装. readn实现代码: int readn(int fd, void ...

  9. ORA-01439: column to be modified must be empty to change datatype

    修改数据库字段类型,但是由于数据表已经存在数据,无法修改: 显示错误:  写道 ORA-01439: column to be modified must be empty to change dat ...

  10. maven学习(4)-本地项目打包发布到私有仓库

    发布本地项目到私服仓库 在前面章节有介绍maven发布本地jar包到私服仓库,这里详细介绍一下步骤. 在项目开发中通常会引用其他的jar,怎样把自己的项目做为一个jar包的形式发布到私服仓库中,主要有 ...