https://www.jb51.net/article/164240.htm

假如我要执行code目录下的python程序,假设该目录下有1.py,2.py,3.py,4.py四个文件,但是我想执行1.py,2.py,4.py,则可在该目录下创建一个python文件,代码如下:

import os
os.system("python ./1.py")
os.system("python ./2.py")
os.system("python ./4.py")

若想指定输出到某个文件,这里我指定输出到log.txt,log.txt也在code目录下,与你的代码在同一目录

import os
os.system("python ./1.py 1>>log.txt")
os.system("python ./2.py 1>>log.txt")
os.system("python ./4.py 1>>log.txt")

 

autorun.py

import os
# default lr is 1e-3
os.system("nohup python main.py --dataset agnews --lr 1e-4 > para_log/lr_1e_4_agnews.log 2>&1 &")
os.system("nohup python main.py --dataset agnews --lr 1e-2 > para_log/lr_1e_2_agnews.log 2>&1 &")
os.system("nohup python main.py --dataset agnews --lr 1e-1 > para_log/lr_1e_1_agnews.log 2>&1 &")

虽说是顺序执行命令,但是我执行完上一个nohup就直接下一个了,相当于并不是顺序执行

 

 排列组合有木有,机智如我

nohup python autorun.py > nohup.out 2>&1 &

import os
# os.system("python testHello.py >> penalty_log/abc.log")

# default lr is 1e-3
# os.system("nohup python main.py --dataset agnews --lr 1e-4 > para_log/lr_1e_4_agnews.log 2>&1 &")

os.system("python -u main_test.py --dataset agnews --lr 1e-4 >> para_log/lr_1e_4_agnews.log")
os.system("python -u main_test.py --dataset agnews --lr 1e-2 >> para_log/lr_1e_2_agnews.log")
os.system("python -u main_test.py --dataset agnews --lr 1e-1 >> para_log/lr_1e_1_agnews.log")


耗时很长的程序忘加nohup就运行了怎么办?

https://zhuanlan.zhihu.com/p/110543628

 

第一步,按ctrl+z把程序挂起,操作后屏幕会出现如下提示([1]中的1表示命令的作业号,后面会用到):

^Z
[1]+  已停止               rsync -av * ysx@46.93.19.14:/tmp

第二步(可选),用jobs命令查看下任务状态,跟刚才的屏幕提示一致,程序被暂时终止,作业号还是1

ysx@ehbio:~/test/Bigwig$ jobs
[1]+  已停止               rsync -av * ysx@46.93.19.14:/tmp

第三步,使用bg %1命令把作业号为1的任务放入后台,并从停止状态变为运行状态,相当于加了&后接着运行。再用jobs查看,任务状态变成了运行中,这一步很关键。如果没有运行bg %1则程序处于停止状态,一直不会运行,吃几顿饭都不会运行。

ysx@ehbio:~/test/Bigwig$ bg %1
[1]+ rsync -av * ysx@46.93.19.14:/tmp &
ysx@ehbio:~/test/Bigwig$ jobs
[1]+  运行中               rsync -av * ysx@46.93.19.14:/tmp &

第四步,运行disown -h %1,表示在终端关闭时不对作业号为1的程序发送终止信号,外部因素将不影响程序的运行。通过ps命令查看下任务进程 (可选)。

ysx@ehbio:~/test/Bigwig$ disown -h %1
ysx@ehbio:~/test/Bigwig$ ps -auwx | grep 'rsync'
ysx       18214  0.0  0.0 117844  1720 ?        S    09:43   0:01 rsync -av *.bw ysx@46.93.19.14:/tmp
ysx       18215  0.1  0.0 182376  8360 ?        S    09:43   0:04 ssh -l ysx 46.93.19.14 rsync --server -vlogDtpre.iLsfxC . /tmp
ysx       18340  0.0  0.0 112724   984 pts/1    S+   10:17   0:00 grep --color=auto rsync