linux 指定用户 启动 程序】的更多相关文章

sudo -H -u {username} /bin/bash -c "python test.py &" "&"  后台运行指令 本人亲测可用,切换到root权限后,指定了 lowman 用户运行 test.py 文件:…
参考:http://blog.useasp.net/archive/2015/07/29/run-command-as-different-user-on-linux.aspx 在实际中,我们有时候想在一个脚本中指定用户来运行另一个程序,从而更好地管理进程.可以通过runuser.su和sudo来实现. runuser runuser命令使用一个替代的用户或者组ID运行一个Shell.这个命令仅在root用户时有用.仅以会话PAM钩子运行,并且没有密码提示.如果用一个非root用户,并且该用户没…
1)redhat的启动方式和执行次序是: 加载内核 执行init程序 /etc/rc.d/rc.sysinit          # 由init执行的第一个脚本 /etc/rc.d/rc $RUNLEVEL  # $RUNLEVEL为缺省的运行模式 /etc/rc.d/rc.local             #相应级别服务启动之后.在执行该文件(其实也可以把需要执行的命令写到该文件中) /sbin/mingetty # 等待用户登录在Redhat中,/etc/rc.d/rc.sysinit主要…
后台启动程序并重定向输出信息脚本 新建文件mstart, 写入下面代码. #!/bin/bash $1 1>/etc/null 2>&1 & 说明 1>/etc/null将标准输出(stdout)重定向到空设备文件,也可以重定向到文件,即将标准输出输出到指定文件(例如:1>~/myapplog) 2>&1 把标准错误(stderr)输出重定向到标准输出(stdout), 也可以重定向到其他位置. & 将程序设置在后台运行 使用 首先更改权限 c…
每天早上到公司第一件事打开电脑,打开我的qq.我的开发工具idea.在看看邮件,日复一日,变懒了.也变聪明了,写了以下一段脚本 文件名称:mystart.sh #!bin/bash #检验我的开发工具是否已经启动,假设没有启动,启动程序,并在终端打印简单启动信息 ideaNum=`ps -ef | grep idea | awk '{print $2}' | wc -l`  flag=2 if [ $ideaNum -lt $flag ];then nohup sh /home/wangjun/…
众所周知,apache的80端口为系统保留端口,如果通过其他非root用户启动,会报错如下: ()Permission denied: make_sock: could not bind to address [::]: ()Permission denied: make_sock: could not bind to address no listening sockets available, shutting down Unable to open logs 因为普通用户只能用1024以上…
/etc/rc.d/init.d 是 /etc/init.d的目标链接. 如果/etc/rc.d下面没有 rc.local脚本文件, 则需要 手动创建: 而 /etc/bashrc 是在登陆bash gnome-terminal 的时候才自动执行的程序??? 但是, 好像/etc/bashrc 也是在登陆图形界面的时候, 就执行的, 并不是 在启动 gnome-terminal才执行的? 所以, 在/etc/bashrc中设置开机启动 firefox, gnome-terminal的时候, 好像…
一般情况下关闭终端时,那么在这个终端中启动的后台程序也会终止,要使终端关闭后,后台程序保持执行,使用这个指令: nohup 命令 & 如:nohup test.sh & 回车,然后提示一堆东西,再次回车,回到shell界面.这就可以了. 还有一个问题:程序在执行中会输出一些信息,如果后台执行的话,这些信息是不是没法看了?(比如:程序执行出错终端,想看看报错信息之类的).使用了nohup命令后,会在当前目录下生成一个nohup.out的日志文件,记录的就是命令的输出.…
一般情况下关闭终端时,那么在这个终端中启动的后台程序也会终止,要使终端关闭后,后台程序保持执行,使用这个指令: nohup 命令 & 如:nohup ./studio.sh & 网上其他解决方案: 1.除了nohup 以外,还有setsid和disown等方法不过现在,如果这种是长期需要运行的,我一般都用supervisor来管理了. 2.我是用tmux,执行之后用ctrl-b d直接把整个tmux放到后台.同一组命令可以放到一个tmux实例里面,以后随时可以把这一组命令一起调出来 感兴趣…
这才是真正正确的让jar后台启动的脚本,网络上的各种nohoup的脚本都是临时执行一次任务用的. #!/bin/sh # # init.d script # # ### BEGIN INIT INFO # Provides: mongodb # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Should-Start: $named # Should-St…
打开根目录用管理员权限打开HOME 找到下图截图中的框选出的文件 用文本编辑器打开后 在文件末尾添加所需要打开的应用文件所在的目录 这里以本人的IDEA和eclipse为例:…
一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一行,并将其改为 no 重启sshd服务 systemctl restart sshd 2.使用非root账户,并授权root权限 useradd sss     #新增用户sss passwd sss      #设置sss用户密码 chmod -v u+w /etc/sudoers      #增…
默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常. bind时perror提示错误信息:permission denied 解决办法有两种: 1.使用非80端口启动程序,然后再用iptables做一个端口转发.   iptables -t nat -A PREROUTING -p tcp…
linux下普通用户如何使用80端口启动程序 http://blog.csdn.net/shootyou/article/details/6750230 大家都知道默认情况下linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常. 解决办法有两种: 1.使用非80端口启动程序,然后再用iptables做一个端口转发. 2.假设我们需要启动的程序是ngi…
一.方法 在/etc/rc.local写程序的启动命令(系统执行内核过程中会启动init进程,该进程把当前runlevel所对应的的所有service 都启动后,才会执行rc.local里的命令),程序默认以root身份启动:也可以通过 sudo -u user1 命令 指定以user1身份启动. 二.示例:以tomcat为例 由于tomcat运行需要JAVA_HOME,而在init进程运行时还未加载用户的profile,所以需要在命令前指定JAVA_HOME. 1.默认以当前用户即root身份…
以linux指定git用户在linux开机时执行启动gogs git为例: 以root登录linux 执行vi /etc/rc.d/rc.local 在文档末尾添加一行语句:su git -c "/data/gogs/gogs  web > /data/gogs/log/gogs_web.log 2>&1 &" 保存rc.local即可. su - git -c 'nohup /home/git/gogs/gogs web > /home/git/go…
问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/apple_tree 启动脚本的内容格式,可参考linux service . 其中的start做如下定义: start(){ su - deploy -c ${APPLE_BIN} } 表示切换到deploy用户,并且环境变量也改变到deploy的环境,然后执行脚本. 如果是做成后台服务,需要修改…
lsof,list open files, 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 命令格式:lsof [参数][文件] 命令功能: 用于查看进程打开的文件,打开文件的进程,进程打开的端口(TCP.UDP). lsof 需要访问核心内存和各种文件,所以通常需要root用户执行. 命令参数:-a 列出打开文件存在的进程-c<进程名> 列出指定进程所打开的文件-g 列出GID号进程详情-d<…
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明一下chkconfig 命令的使用方法 Chkconfig --list:将目前的各项服务状态栏显示出来 --level:设置某个服务在该LEVEL下启动或者关闭 单独查看某一服务是否开机启动的命令 :chkconfig --list 服务名 单独开启某一服务的命令 ;chkconfig 服务名 o…
前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产生影响. 本文将不考虑这些影响因素(相关资料可参考<深入理解计算机系统>一书),而仅仅关注Linux系统中用户态程序执行时间的计算方式.除本文所述计时方式外,还可借助外部工具统计耗时,如<Linux调试分析诊断利器——strace>一文中介绍的strace. 本文示例代码的运行环…
转自: http://www.cnblogs.com/clover-toeic/p/3845210.html 前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产生影响. 本文将不考虑这些影响因素(相关资料可参考<深入理解计算机系统>一书),而仅仅关注Linux系统中用户态程序执行时间的计算方式.除本文所述计时方式外,还可借助外部工具统计耗时…
在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦:另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup <程序名> & 则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程).使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守…
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤.加载内核LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核.请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存.因此,内核就必须完整地加载到可用RAM的第一个兆字节之内.为了实现这个目的,内核是被压缩了…
Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle                                 --“切换到oracle用户”[oracle@redhat ~]$ lsnrctl start                               --“打开监听”[oracle@redhat ~]$ sqlplus /nolog   …
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. 加载内核 LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核.请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存.因此,内核就必须完整地加载到可用RAM的第一个兆字节之内.为了实现这个目的,内核是被…
see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C%BA%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%91%BD%E4%BB%A4/ 不同linux系统添加开机启动程序的命令作者: 清风 日期: 2011 年 9 月 16 日 发表评论 (0) 查看评论 gentoo: rc-update add…
背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题,因为在我设置开机启动的服务时用service jira start出现找不到一些变量,如:获取不到java的home目录,提示找不到,为此,我加上了java的环境变量开机启动Ok了,但是英文,我对英文认识少,但还是想用中文,否则插件就等于白安了. 为此,需要弄清这两者的环境变量的区别在哪儿,如何查看…
我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. 加载内核LILO 启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核.请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们 天然的设计缺陷)也还没有办法存取机器上全部的内存.因此,内核就必须完整地加载到可用RAM的第一个兆字节之内.为了实现这个目的,内核是被压缩了的. 这个文件的头部…
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. 加载内核LILO启动之后,如果你选择了Linux作为准备引导的操作系统,第一个被加载的东西就是内核.请记住此时的计算机内存中还不存在任何操作系统,PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存.因此,内核就必须完整地加载到可用RAM的第一个兆字节之内.为了实现这个目的,内核是被压缩…
主要描述 boot/目录中的三个汇编代码文件,见列表 3-1 所示.正如在前一章中提到的,这三个 文件虽然都是汇编程序,但却使用了两种语法格式.bootsect.s 和 setup.s 采用近似于 Intel 的汇编语言语法,需要使用 Intel  8086 汇编编译器和连接器 as86 和ld86,而 head.s 则使用 GNU 的汇编程序格式,并且运行在保护模式下,需要用 GNU 的 as 进行编译.这是一种 AT&T 语法的汇编语言程序. 使用两种编译器的主要原因是由于对于 Intel …