如何解决python进程被kill掉后GPU显存不释放的问题
1 重新开一个shell,然后输入: ps aux|grep user_name|grep python。所有该用户下的python程序就会显示出来(很多在用watch命令都不会显示的进程在这里可以看到);
2 然后再一个个用kill命令清理
- 两台Linux系统之间传输文件的几种方法
连接服务器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打开
系统用户、用户组及权限管理
- ubuntu中useradd与adduser的区别
1、用户的管理
三个重要的配置文件:
/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 1008 -g sport_group alice 修改alice的用户id和主组
2、用户组的管理
用户组的创建
groupadd [选项] 用户组名
选项:
-g 用来显示指定新建组的id
eg:sudo groupadd -g 9527 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 9530 sport 将组id修改为9530
groupmod -n my_sport sport 将sport组名修改为my_sport
临时更换有效组(相当于开辟一条新的线程)
用法:newgrp [-] [组] 使用exit退出本条线程
3、权限管理
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 345 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
1.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
2.格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
4.说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
5.应用实例
建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定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"