#!/bin/bash -
#===============================================================================
#
#          FILE: bgcmd
#
#         USAGE: 方式1 -- $ ./bgcmd             # 启动指定后台程序
#                方式2 -- $ ./bgcmd off         # 结束指定后台程序
#
#   DESCRIPTION: 后台运行程序/命令(类似于deamon进程)
#
#       OPTIONS: ---
#  REQUIREMENTS: >> 按需要修改 cmd 和 need_root 这两个变量<<
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: linkscue(scue),
#  ORGANIZATION:
#       CREATED: 2013年08月14日 22时04分38秒 HKT
#      REVISION:  ---
#===============================================================================get_process(){cmd="$1"ps aux | grep -v 'grep' | grep "$cmd" | awk '{print $2}'
}kill_process(){exist="$1"if [[ "$need_root" != "" ]]; thensudo kill $existelsekill $existfiecho "process [ $(echo $exist) ] had killed."
}#-------------------------------------------------------------------------------
#  cmd: 希望在后台执行的程序/命令
#  need_root: 是否需要root权限执行
#-------------------------------------------------------------------------------
need_root=true
cmd="python -m SimpleHTTPSever 80"# get root, if need.
if [[ "$need_root" != "" ]]; thensudo ls > /dev/nullret=$?if [[ $ret != 0 ]]; thenecho "can't get root, exit."exit 1fi
fi# run cmd
exist=$(get_process "$cmd")
if [[ "$1" != "" ]] ; then                      # kill processkill_process "$exist"
elseif [[ "$exist" != "" ]]; thenkill_process "$exist"fiif [[ "$need_root" != "" ]]; thensudo nohup $cmd >/dev/null 2>&1 &       # run as rootelsenohup $cmd > /dev/null 2>&1 &           # run as otherfisleep 0.1exist=$(get_process "$cmd")echo "run [ $(echo $exist) ] at background."
fi

〖Linux〗以后台方式启动/结束指定程序/命令(不受 exit 或点击窗口关闭按钮等终端退出操作的影响)...相关推荐

  1. 在 linux 中加载启动 zynq PL 程序

    目录 环境 使用 BIN 文件生成 附 在 zynq 使用系统时,可在 uboot 与 linux 中加载启动 PL 程序,一直以来用的都是在 uboot 中加载启动,本次试了试在 linux 中启动 ...

  2. dd linux 格式化u盘启动盘_linux dd命令[用于制作U盘启动盘的神奇的命令]

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  3. dd linux 格式化u盘启动盘_linux dd命令刻录启动U盘详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  4. Linux下main函数启动过程【程序员自我修养笔记】【自用】

    1. 入口函数和程序初始化 1.1 程序从main开始吗? 当程序执行到main函数的第一行时,很多事情都已经完成了: [证1]如下是一段C语言代码: 代码中可以看到,在程序刚刚执行到main的时候, ...

  5. 用U盘安装Linux时U盘启动没有指定路径的解决方法

    报错如图 进入dev目录看一下U盘文件是哪个,在这个界面输入 dracut:/#cd /dev dracut:/dev#ls sd* 一般不是sdb4就是sdc4 然后以U盘重启计算机 选择安装系统的 ...

  6. initramfs下启动linux_和菜鸟一起学linux之initramfs方式启动

    关于initramfs initramfs在编译内核的同时被编译并与内核连接成一个文件,它被链接到地址__initramfs_start处,与内核同时被加载到ram中.initramfs被解析处理后原 ...

  7. Linux下Nginx的启动、停止等命令

    启动: 进入nginx的sbin目录,输入 ./nginx 停止: 在任意目录,输入pkill -9 nginx

  8. 如何用命令行启动mysql_命令行方式启动mysql 如何用命令行启动mysql

    如何用命令行启动mysql,有时候,仅是简单的想在电脑上启动myql,当然如果用myql图形管理器也是可以的,比如avicate以及qlyog,本经验教你如何使用命令行启动myql. 如何用命令行进入 ...

  9. Linux 删除文件夹下部分指定数据命令

    我不希望百度搜不到这样的解决方案,本科的时候用过这么好用的命令,现在想起来要用却具体忘了,百度一搜,硬生生没有案例!我很失望,很愤怒

  10. xshell怎么让程序后台运行_使程序在Linux下后台运行

    我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行.( ...

最新文章

  1. linux usb组合设备,USB组合设备(5)
  2. 【操作】Json取value时,为什么得到的是undefined?
  3. ITK:创建一个图像区域
  4. Codeforces Beta Round #19 D. Points
  5. 国开mysql答案_国开MySQL数据库应用形考任务.doc
  6. 微信公众号 模版消息 跳转到小程序报错{ errcode: 40013, errmsg: 'invalid appid hint: [cC6RwA09011295]' }
  7. 作者:刘阳(1988-),男,军事医学科学院放射与辐射医学研究所博士生
  8. 天联高级版客户端_天高客户端登录出现“如未打开程序,请点击查看链接提示”...
  9. python 字符串find方法怎么用_Python字符串find()方法
  10. django调用python脚本返回_讲解django rest framework 自定义返回方法
  11. mysql运算中max计算_MySQL 聚合函数、运算符操作、约束
  12. git可视化工具小乌龟安装使用
  13. SSH和SSM对比(学完后的总结)
  14. python 拼音性命按照姓出现的次数排序_Python按姓氏排序字典列表
  15. 健身运动App需求分析
  16. Apriori算法通俗讲解
  17. 服务器断电重启,mysql未启动。
  18. 交换机/路由器基本配置
  19. Java正则表达式(超详细)
  20. 移动端键盘弹出后,导致背景图片上移解决方法(MUI)

热门文章

  1. PHP内存溢出:Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes)
  2. 火狐插件 Katalon Recorder 生成 python 等语言 代码
  3. 从openjdk.java.net获取OpenJDK8源码并编译(amd64/aarch64/arm64)
  4. UOS U盘复制性能,3M
  5. SHELL中使用sed替换文本
  6. 昨天发现,博客排名进行了两次
  7. 百度人脸识别文档冲突,facetype应是face_type
  8. 百度人脸识别,一次耗时600毫秒
  9. Python语言应该加上块标识(开始、结束)的特性
  10. python日期时间模块_Python模块|时间处理模块-日期时间模块,python,datetime