#如何在linux下創建一個可運行shell腳本
10年積累的做網站、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計制作后付款的網站建設流程,更有崗巴免費網站建設讓你可以放心的選擇與我們合作。
#新建一個.sh文件
touch cellranger.count.sh
#編輯test.sh文件
vi test.sh
#鍵入i,輸入內容;#!/bin/sh必須放在第一行;然后鍵入esc鍵,輸入:wq保存退出
#給test.sh賦予可執行權限
chmod +x test.sh?
#執行腳本
sh test.sh?
PBS 腳本格式 :PBS腳本為.pbs文件,將提交任務的命令寫在PBS腳本中提交,PBS腳本由抬頭的任務詳情和具體命令組成:
抬頭任務詳情格式:
#PBS -N myjob
#PBS -o /home/jz/my.out
#PBS -e /home/jz/my.err
#PBS –l nodes=2:ppn=1
#########################創建自己的
這里的#不是注釋的意思
#PBS -N cellranger.f
#PBS -o?/home/yifan/project/LJ.22.02.sc/cellranger/my.out
#PBS -e /home/yifan/project/LJ.22.02.sc/cellranger/my.err
#PBS –l nodes=2:ppn=1
cd /home/yifan/project/LJ.22.02.sc
for id in KOAC KONC WTAC WTNC
do
/home/yifan/software/cellranger-6.1.2/cellranger count --localcores=40 --localmem=120 --id=${id}2 --transcriptome=/home/yifan/data/ref/cellranger.mm10/refdata-gex-mm10-2020-A --nosecondary --fastqs=/home/yifan/project/LJ.22.02.sc --sample=${id}
done
一般格式:qsub + 腳本名稱,
如:qsub myname.pbs
cd /home/yifan/project/LJ.22.02.sc
qsub cellranger.count.sh
65690.mu01? #給出了任務號
命令格式:qatat[-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u]
qstat -an
參數說明:
-f jobid 列出指定作業的信息
-a 列出系統所有作業
-i 列出不在運行的作業
-n 列出分配給此作業的結點
-s 列出隊列管理員與scheduler 所提供的建議
-R 列出磁盤預留信息
-Q 操作符是destination id,指明請求的是隊列狀態
-q 列出隊列狀態,并以alternative 形式顯示
-au userid 列出指定用戶的所有作業
-B 列出PBS Server 信息
-r 列出所有正在運行的作業
-Qf queue 列出指定隊列的信息
-u 若操作符為作業號,則列出其狀態。
若操作符為destination id,則列出運行在其上的屬于user_list中用戶的作業狀態。
例:# qstat -f 211 查詢作業號為211 的作業的具體信息。
PBS,也就是美國公共電視網(英語:Public Broadcasting Service,也稱公共廣播協會或美國公共電視臺),是美國的一個公共電視機構,由354個加盟電視臺組成,成立于1969年,總部位于維吉尼亞州阿靈頓縣,主要制播教育與兒童節目。知名的兒童節目《芝麻街》就是該臺制播的。
PBS是一個批處理作業和計算機系統資源管理軟件包。它原本是按照POSIX 1003.2d批處理環境來開發的。這樣,它就可以接受批處理作業、shell腳本和控制屬性,作業運行前對其儲存并保護,然后運行作業,并且把輸出轉發回提交者。
PBS可以被安裝并配置運行在單機系統或多個系統組來支持作業處理。由于PBS的靈活性,多個系統可以以多種方式組合。
在.def文件所在的同一個文件夾里編輯.pbs文件,然后鍵入或者粘貼以下.pbs代碼中的命令(把我添加的注釋刪掉)進去,然后運行qsub test.pbs即可。
#!/bin/sh?-f
#PBS?-N?cfx_test????????%作業名稱
#PBS?-q?batch???????????%作業序列
#PBS?-l?nodes=cu01:ppn=2+cu05:ppn=2?????%使用的節點和每個節點使用的核數,cu01需要換成實際的節點名稱
#PBS?-l?walltime=00:02:00???????????????%作業運行時間
##################################################################
#具體路徑根據實際情況修改,或者(親測)直接刪掉這幾行應該也能運行
source?/opt/intel/composer_xe_2015/bin/compilervars.sh?intel64
source?/opt/intel/composer_xe_2015.1.133/mkl/bin/intel64/mklvars_intel64.sh
source?/opt/intel/impi/5.0.2.044/intel64/bin/mpivars.sh
########################################################
cd?$PBS_O_WORKDIR
cat?$PBS_NODEFILE??/$PBS_O_WORKDIR/nodefile
input=test.def???????????????????????%所在目錄下的.def文件
#注意修改cfx5solve的實際路徑
date
#并行運行,串行將-start-method后改成"Serial",后面刪掉。
nohup?/opt/ansys_inc/v150/CFX/bin/cfx5solve?-def?$input??-double?-start-method?"HP?MPI?Distributed?Parallel"?-par-dist?cu01*2,cu05*2?
date
exit
qstat 不是linux命令,此命令用于PBS公開源代碼的作業管理系統。
qstat 命令—用于查詢作業狀態信息
命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u]
參數說明:
-f jobid 列出指定作業的信息
-a 列出系統所有作業
-i 列出不在運行的作業
-n 列出分配給此作業的結點
-s 列出隊列管理員與scheduler 所提供的建議
-R 列出磁盤預留信息
-Q 操作符是destination id,指明請求的是隊列狀態
-q 列出隊列狀態,并以alternative 形式顯示
-au userid 列出指定用戶的所有作業
-B 列出PBS Server 信息
-r 列出所有正在運行的作業
-Qf queue 列出指定隊列的信息
-u 若操作符為作業號,則列出其狀態。
若操作符為destination id,則列出運行在其上的屬于user_list 中用戶的作業狀態。
例:# qstat -f 211 查詢作業號為211 的作業的具體信息。
LSF abbr. 分布式異構計算機環境的負載管理系統(Load Sharing Facility) Today's popular queuing systems include some pay for products such as: LSF and PBS Pro. 當今流行的隊列系統包括一些付費產品,比如 LSF 和 PBS Pro。
在 上一篇 中我們非常簡單地介紹了在 C 語言中嵌入 mpi4py 程序的方法。
前面我們所給出的各個例程一般都是在單臺計算機上直接使用 mpiexec 或 mpirun 執行的,但是在實際應用中,對規模比較大的高性能計算任務,一般會提交到集群或超級計算機平臺上進行計算。集群系統具有低成本、高性能的特性,提供了強大的批處理和并行計算能力,代表了高性能計算機發展的新方向。在集群或者超級計算機平臺上,一般不能隨意地直接以 mpiexec 或 mpirun 運行我們的并行計算程序,而必須通過其上提供的作業管理系統來提交計算任務。作為集群系統軟件的重要組成部分,集群作業管理系統可以根據用戶的需求,統一管理和調度集群的軟硬件資源,保證用戶作業公平合理地共享集群資源,提高系統利用率和吞吐率。下面我們將簡要地介紹幾個常用的集群作業管理系統:PBS,LSF 和 SLURM。下面我們首先簡要介紹 PBS 作業管理系統。
PBS (Protable Batch System) 作業管理系統會根據一個集群上的可用計算節點的計算資源管理和調度所有計算作業(無論是批處理作業還是交互式作業)。
可以用兩種方式設置 PBS 作業屬性:
下表列出常用的 PBS 作業屬性
比較常用的作業資源如下:
可以用以下方法設定節點資源構型:
下表列出常用的 PBS 環境變量:
用以下命令形式提交批處理作業:
作業提交后一般會先排隊等待,PBS 系統會根據作業的優先級和可用的計算資源來調度和執行作業。
PBS 腳本本質上是一個 Linux shell 腳本,在 PBS 腳本中可以用一種特殊形式的注釋(#PBS)作為 PBS 指令以設定作業屬性。下面是一個 PBS 腳本示例:
用以下命令提交該作業:
要取消或停止一個作業,需要得到該作業的作業標識號 job ID ,可以通過 qstat 命令獲得。
取消一個正在排隊等待的作業,可用以下命令:
要停止一個正在運行的作業,可用向其發送 KILL 信號:
交互式的計算作業通過類似于下面的命令使用:
例如要求 2 臺計算節點,運行在 example-queue 隊列上的交互式作業,執行如下命令:
執行完以上命令,等 PBS 系統分配好資源后會進入所分配的第一臺計算節點,可在其命令終端上執行交互式的計算任務,如要退出交互作業,可在終端輸入 exit 命令,或使用按鍵 Ctrl+D。
以上簡要介紹了 PBS 作業管理系統,在 下一篇 中我們將介紹 LSF 作業管理系統。
新聞名稱:linuxpbs命令的簡單介紹
分享地址:http://vcdvsql.cn/article20/hspejo.html
成都網站建設公司_創新互聯,為您提供網站建設、、網站設計、關鍵詞優化、品牌網站設計、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯