1 重新开一个shell,然后输入: ps aux|grep user_name|grep python。所有该用户下的python程序就会显示出来(很多在用watch命令都不会显示的进程在这里可以看到);

2 然后再一个个用kill命令清理

连接服务器shell窗口关闭导致程序中断,让程序在linux后台运行nohup

- CUDA_VISIBLE_DEVICES=1 nohup python -u 文件名.py --文件参数 > flush.log 2>&1 &

解决Linux关闭终端(关闭SSH等)后运行的程序或者服务自动停止

复制目录

  • 将本地目录拷贝到远程

scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径

  • 从远程将目录拷回本地

scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径

使用sshfs挂载远程主机文件到linux

  • sshfs <username>@<ipaddress>:/remotepath ~/remoteserv
  • sshfs挂载的时候权限问题: 需要修改 /etc/fuse.conf ,把user_allow_other打开

系统用户、用户组及权限管理

、用户的管理
三个重要的配置文件:
/etc/passwd 该配置文件每一行存储一个用户信息
/etc/shadow 该配置文件存储每个用户加密后的密码
/etc/group 该配置文件中存储了用户组信息
添加用户的方法:
useradd [选项] 用户名
选项:
-c 备注
-d home目录
-s 用户的shell程序
-g 用户的主组(初始组)
-G 用户的附加
-m 创建用户的主目录/必须添加
-u 新用户的id
新建用户必须设置密码,才能进行登录:sudo passwd 用户名
adduser 用户名 自动化创建用户,以交互的方式创建其他信息
删除用户的方法:
userdel [选项] 用户名
选项:
-r 删除用户的主目录和邮件池
-f 强制删除
修改用户的方法
usermod [选项]
选项:-l 修改用户名
-u 修改用户id
-g 修改主组(只能有一个)
-G 用户的附加组(可以有多个)
eg:usermod -u -g sport_group alice 修改alice的用户id和主组
、用户组的管理
用户组的创建
groupadd [选项] 用户组名
选项:
-g 用来显示指定新建组的id
eg:sudo groupadd -g sport_group 新建一个sport_group组。id为9527
将用户添加到组中
gpasswd -a 用户名 组名
eg:sudo gpasswd -a jerry sport_group 将用户jerry加入到sport_group组里
将用户从指定组中删除
gpasswd -d 用户名 组名
eg:gpasswd -d jerry sport_group 将用户jerry从sport_group组里删除
查看用户加入的全部组
groups 用户名
用户组的删除
groupdel [选项] 用户组名
组信息修改
groupmod [选项] 组名
选项:
-g 修改组的id
-n 修改组名
eg:
groupmod -g sport 将组id修改为9530
groupmod -n my_sport sport 将sport组名修改为my_sport
临时更换有效组(相当于开辟一条新的线程)
用法:newgrp [-] [组] 使用exit退出本条线程
、权限管理
eg:- rw- rw- r--
文件类型:- 代表普通文件 d 表示目录
所属用户的权限(u):r 读权限 w 写权限 x 执行权限 - 无权限
用户组权限(g):r 读权限 w 写权限 x 执行权限 - 无权限
其他用户的信息(o):r 读权限 w 写权限 x 执行权限 - 无权限
备注:若其他用户想拥有用户组权限,需加入文件或目录的所属用户组里
权限修改
用法1:chmod [选项]... 模式[,模式]... 文件... 修改用户(u/g/o/a)权限(-rwx)
eg:chmod u+x,g=w,o=r a.txt b.txt 把a.txt和b.txt所属用户u权限增加x,用户组g权限仅为w,其他用户o权限仅为r。
对于目录,执行权限(x)决定了能否进入该目录。
用法2:chmod [选项]... 八进制模式 文件... 每个八进制数字可以拆成三个二进制位
eg:chmod a.txt 最终权限位:-wxr--r-x
chown改变所属用户或用户组
用法:chown 新所属用户:新所属用户组 目录或文件
eg:sudo chown jerry:sport_group test
用法:chown -hR 新所属用户:新所属用户组 目录或文件
eg:chown rcw test修改test所属用户为rcw
chown rcw:rcw test修改test所属用户和所属用户组为rcw
chown -hR rcw:rcw test修改test及子目录文件的所属用户和所属用户组为rcw
chgrp改变文件所属用户组
用法:chgrp [选项]... 用户组 文件...
  或:chgrp [选项]... --reference=参考文件 文件...
eg:
chgrp rcw test修改test所属组为rcw
chgrn -hR rcw test修改test及子目录文件的所属用户组为rcw
useradd

.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。 .格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name .主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。 
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。 .说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。 .应用实例
建立一个新用户账户,并设置ID:
#useradd caojh -u 需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。 EXAMPLE: 在终端里执行以下命令: # useradd -d /home/"username" -g "gid" -u "uid" -m -s /bin/bash "username" # passwd "username" “username"自己指定, ”gid"必须是现有的组id,“uid"必须目前未被使用
/etc/group文件里有所有组信息。以下命令可以创建新组: # groupadd -g "gid" "group name"

ubuntu服务器常见使用技巧及-kill掉后GPU显存不释放进程-的更多相关文章

  1. Ubuntu-Tensorflow 程序结束掉GPU显存没有释放的问题

    笔者在ubuntu上跑Tensorflow的程序的时候,中途使用了Win+C键结束了程序的进行,但是GPU的显存却显示没有释放,一直处于被占用状态. 使用命令 nvidia-smi 显示如下 两个GP ...

  2. shell kill掉含同一字符的关键字的进程

    如何kill掉进程名包含某个字符串的一批进程:kill -9 $(ps -ef|grep 进程名关键字|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ') 观 ...

  3. 【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

    我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次 ...

  4. CentOS7设置SVN自启动,提交报错,无权限.手动kill掉后重启,成功.

    参考文档:http://tieba.baidu.com/p/5174054662 最近想尝试在CentOS7上搭建SVN服务.遇到的问题大致如题,我这边再详细描述一下. 虚拟机:VMware® Wor ...

  5. Web进程被kill掉后线程还在运行怎么办?

    目录 背景描述 原因分析 处理方案 参考 背景描述 系统有一个配置表,系统在启动后会启动一个线程,每隔5分钟将配置表里所有的数据更新到内存中. 系统是通过jenkins构建(直接kill掉Web进程, ...

  6. ubuntu基础知识与技巧

    root用户与超级用户的切换 (1)  sudo -i (2)  sudo su (3)  su root 安装升级 查看软件xxx安装内容 dpkg -L xxx 查找软件库中的软件 apt-cac ...

  7. 如何让Service自动重启而不被kill掉

    重写service的onStartCommand方法. @Override    public int onStartCommand(Intent intent, int flags, int sta ...

  8. Ubuntu服务器上相关软件或应用时常打不开的问题

    于接触linux系统时间不就,所以在操作上难免会出现失误,以下两个问题就是近期经常出现的问题,具体如下: 1.ubuntu服务器上的浏览器时常打不开. 2.安装的pycharm和系统自带的pychar ...

  9. 配置SSH服务使用证书登录Ubuntu服务器

    根据项目要求,需要将项目迁移到Linux系统上,作为测试,选用的是阿里云服务器,1核CPU,1G内存(没错就是这么穷),操作系统Ubuntu 16.04 64位.当然其实如果使用阿里云服务器其实是不需 ...

随机推荐

  1. queue模块回顾

    queue queue是python中的标准库,俗称队列. 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需要进行数据交换的时 ...

  2. BZOJ4161 常系数齐次线性递推

    问了数竞的毛毛搞了一番也没太明白,好在代码蛮好写先记下吧. #include<bits/stdc++.h> using namespace std; ,mod=1e9+; int n,k, ...

  3. Vakuum开发笔记01 开天辟地

    1.缘起 先驱--COGS 早在2008年,我自学PHP后开发了COGS,并成功用于学校内部的OJ,ruvtex.也曾经对外开放过,但是由于学校网络不稳定,后来一直连不上了.我还把COGS推荐给了OO ...

  4. 在Asp.net core返回PushStream

    最近用asp.net core webapi实现了一个实时视频流的推送功能,在Asp.net中,这个是通过PushStreamContent来实现的. 基于对asp.net core的知识,随手写了一 ...

  5. gdb调试报错:Missing separate debuginfos, use: debuginfo-install glibc-XXX

    解决方案: 1.先修改“/etc/yum.repos.d/CentOS-Debuginfo.repo”文件的 enable=1: 2.使用 sudo yum install glibc 安装: 3.使 ...

  6. 多人开发时Git下冲突的产生和解决

    冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...

  7. AngularJS过滤排序思路

    本篇主要整理使用AngularJS进行过滤排序的思路. 在controller中,$scope的persons字段存储数组. $scope.persons = [ { "name" ...

  8. JavaScript进阶系列06,事件委托

    在"JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数"中已经有了一个跨浏览器的事件处理机制.现在需要使用这个 ...

  9. 【jvm】linux 调用 jmap 报错Permission denied

    linux 调用 jmap  报错Permission denied 解决方案: 分别对java安装目录,java的bin目录以及jmap命令设置权限 chmod jdk1..0_79 chmod b ...

  10. 【gitlab】首次提交本次代码到gitlab上,报错:Updates were rejected because the remote contains work that you do

    首次提交本次代码到gitlab上,报错:Updates were rejected because the remote contains work that you do 报错情况如下: 错误原因: ...