如何解决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"