时隔两年最近再次折腾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. 移动端自动化环境搭建-node.js的安装

    安装node.js A.安装依赖 Appium是使用nodejs实现的,所以node是解释器,首先需要确认安装好 B.安装过程

  2. 使用GIT进行源码管理——GIT托管服务

    虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...

  3. HDU 5673 Robot ——(卡特兰数)

    先推荐一个关于卡特兰数的博客:http://blog.csdn.net/hackbuteer1/article/details/7450250. 卡特兰数一个应用就是,卡特兰数的第n项表示,现在进栈和 ...

  4. asp.net mvc 模型验证-最舒服的验证方式

    在院子里发现 http://www.cnblogs.com/yangecnu/p/3759784.html 模型验证方法 1. 一般方法 繁琐, 无数的if else, 在炎炎夏天,我见过一个验证方法 ...

  5. 在Eclipse上操作Hive-0.13.1-JDBC端口

    fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3877740.html 完成<在Hadoop-2.2.0集群上安装 Hive-0. ...

  6. ASP.NET MVC应用程序执行过程分析

    ASP.NET MVC应用程序执行过程分析 2009-08-14 17:57 朱先忠 朱先忠的博客 字号:T | T   ASP.NET MVC框架提供了支持Visual Studio的工程模板.本文 ...

  7. c#:未将对象引用设置到对象的实例--可能出现的问题总结(转)

    1.c#:未将对象引用设置到对象的实例--可能出现的问题总结(转):http://www.cnblogs.com/KeenLeung/archive/2013/06/23/3150578.html

  8. NGUI Draw Calls优化(思路)

    用NGUI做界面的时候发现不注意GameObject(或者说Widget)的depth的话,单独运行界面时,Draw Calls挺高的: 网上搜了一下,大把的博客说的都是类似以下的原则: (PS:以下 ...

  9. nil、Nil、NULL和NSNull的区别和联系

    一.nil 我们给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉: 或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统将这块内存释放掉,这个时候这个对 ...

  10. linux 系统下,如何清空文件内容

    最近用 crontab命令 做了一些 同步任务,可后期同步任务的代码没用了,于是,我就直接删除了 代码(对应的jar包),但是 crontab -e 的命令行没有删除 ,以后,每天我的Azure vm ...