qsub無權調用編譯好的程序
『壹』 QSUB提交腳本的後綴
QSUB提交腳本的後綴是游覽器提交任務的命令編程。
qsub教程qsub教程PBS是公開源代碼的作業管理系統,在此環境下運行。
用戶不需要指定程序在哪些節點上運行,程序所需的硬體資源由PBS管理和分配。
『貳』 centos qsub命令怎麼安裝
這個命令是瀏覽網頁用的啊,定時執行程序linux不是沒有,就像windows的計劃任務一樣,linux更靈活。創建一個123.shell文件即shell腳本,內容如下 #shell 隔一小時執行php腳本 ->注釋 #用你php安裝文件下的bin里的php編譯工具 執行.php文件 /lamp
『叄』 一個比較龐大的程序,qsub提交,fortran中的dellocate不報錯,qstat看到還在運行,可輸出已經停了。
只是這兩句很難看出什麼,最好用F10跟蹤調試一下。
『肆』 在linux系統下意義程序 顯示qsub: file must be an ascii script 是什麼意思啊
應該是要求文件必須是美國信息互換標准代碼格式的腳本
『伍』 Lunix運行腳本、任務(sh、nohup、qsub)
產生日誌:
sh **.sh &> xx.log
不產生日誌:
sh **.sh > /dev/null 2>&1 &
nohup:no hang up 的縮寫,就是不掛斷的意思 。
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。 該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。 在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中。
使用許可權:所有使用者
語法格式
nohup Command [ Arg … ] [& ]
參數說明:
Command :要執行的命令。
Arg :一些參數,可以指定輸出文件。
& :讓命令在後台執行,終端退出後命令仍舊執行。
實例
以下命令在後台執行 root 目錄下的 runoob.sh 腳本:
nohup /root/runoob.sh &
在終端如果看到以下輸出說明運行成功:
appending output to nohup.out
這時我們打開 root 目錄 可以看到生成了 nohup.out 文件。
如果要停止運行,你需要使用以下命令查找到 nohup 運行腳本到 PID,然後使用 kill 命令來刪除:
ps -aux | grep "runoob.sh"
參數說明:
a : 顯示所有程序
u : 以用戶為主的格式來顯示
x : 顯示所有程序,不區分終端機
另外也可以使用 ps -def | grep "runoob.sh" 命令來查找。
找到 PID 後,就可以使用 kill PID 來刪除。
kill -9 進程號PID
以下命令在後台執行 root 目錄下的 runoob.sh 腳本,並重定向輸入到 runoob.log 文件:
nohup /root/runoob.sh > runoob.log 2>&1 &
2>&1 解釋:將標准錯誤 2 重定向到標准輸出 &1 ,標准輸出 &1 再被重定向輸入到 runoob.log 文件中。
0 – stdin (standard input,標准輸入)
1 – stdout (standard output,標准輸出)
2 – stderr (standard error,標准錯誤輸出)
實時監測日誌輸出內容命令:tail
tail 命令是nohup命令的好搭檔。配合-f參數,可以實時監視向日誌文件增加的信息。
tail -f myout.log
tail -f 等同於–follow=descriptor,根據文件描述符進行追蹤,當文件改名或被刪除,追蹤停止
tail -F 等同於–follow=name --retry,根據文件名進行追蹤,並保持重試,即該文件被刪除或改名後,如果再次創建相同的文件名,會繼續追蹤
tailf 等同於tail -f -n 10,與tail -f不同的是,如果文件不增長,它不會去訪問磁碟文件,所以tailf特別適合那些便攜機上跟蹤日誌文件,因為它減少了磁碟訪問,可以省電。
監測程序是否在正常運行中:ps
ps命令也可以和nohup命令配合使用,用於顯示當前進程 (process) 的狀態。可以監視後台程序是否在正常運行中或者已經掛掉。
ps -ef|grep yourcommand # -ef 參數顯示所有命令,連帶啟動時的命令行參數
qsub命令用來從登陸節點上向計算節點進行任務投遞。前提是在伺服器上有集群管理工具分配計算節點等。SGE(SGE, Sun Grid Engine)集群管理工具可以用來提交批處理作業,SGE支持單或多節點作業,它將用戶投遞的任務進行排隊,然後將任務交給能夠運行的結算節點執行,工作流程可以分為四步:接受用戶投放的任務;在任務運行以前,將任務放到一個存儲區域;發送任務到一個執行設備,並監控任務的運行;運行結束寫回結果並記錄運行日誌。
qsub [ options ] [ command | -- [ command_args ]]
1. -@ optionfile (contains all valid options) 就是把qsub命令的可選項組合成一定功能的語句,保存在一個文件中。 qsub -a optionfilename jobfilename
2. -a date_time 設置作業什麼時候可以執行。 格式:CC YY MMDDHHMM.SS 如 201109272213.21 qsub -a 201109272213.21 ../simplejob
3. -A account_string Identifies the account to which the resource consumption of the job should be charged 設置一個作業的賬戶名,便於統計該賬戶使用的資源等信息 qsub -A testaccountname jobname
4. -ac 添加名/值對到作業上下文 -dc 刪除。。 -sc 設置(修改)。。 Contexts provide a way to dynamically attach and remove meta- information to and from a job. The context variables are not passed to the job's execution context in its environment The outcome of the evaluation of all -ac, -dc, and -sc options or corresponding values in qmon is passed to defined JSV instances as parameter with the name -ac.
5. -ar ar_id 分配已提交作業,作為它的一部分,給已存在預約。ar=advance reservation qsub -ar 60 jobname #ai_di = unsigned integer
6. -b y[es]|n[o] Gives the user the possibility to indicate explicitly whether command should be treated as binary or script.
7. -binding 等待理解
8. -c occasion_specifier(際符) 定義或者重定義作業是否要被檢查,if是,在什麼環境下。 n no checkpoint is performed. s checkpoint when batch server is shut down. m checkpoint at minimum CPU interval. x checkpoint when job gets suspended. <interval> checkpoint in the specified time interval. qsub -c n jobname
9. -C prefix_string 前綴字元串定義一個在作業命令中的指令 qsub -C "#$" ../simplejob
10. -ckpt ckpt_name 選擇檢查點環境來檢查一個作業,同時聲明這個作業是檢查點作業。 qsub -ckpt allanckpt ../simplejob
11. -clear 重置作業的所有元素為初始默認狀態 qsub -clear ../simplejob
12. -cwd =current working directory 從當前的目錄開始執行作業。如果有相應的配置文件的話, 這個命令將啟動網格引擎的路徑別名設備。
13. -dl date_time 設置作業在deadline之前執行完,格式為CC YYU MMDDHHMM.SS qsub -dl 201101131159.01 ../simplejob
14. -e [[hostname]:]path,...定義或重新定義作業的標准錯誤流使用的路徑 e=stderror
15. -h | -h {u|s|o|n|U|O|S}... h=hold 暫停作業執行 'u' .........user hold. `s' denotes a system hold. `o' denotes a operator hold. `n' denotes no hold (requires manager privileges). `U' removes a user hold. `S' removes a system hold. `O' removes a operator hold. qsub -h ../simplejob(qsub只能使用-h)
16. -l resource=value,... l=launch 啟動滿足資源需求的作業 Launch the job in a Grid Engine queue meeting the given resource request list. In case of qalter the previous definition is replaced by the specified one. qsub -l s_core=5 ../simplejob
17. -q wc_queue_list 定義或重定義可能用來執行作業的隊列,包括群聚隊列、隊列域、隊列實例。 qsub -q all.q ../simplejob
18. -hard 表示該作業在安排執行之前,作業的資源需求必須滿足。 qsub -hard ../simplejob
19. -soft 表示該作業在安排執行之前,作業的資料需求可以有、但不必須有。 qsub -soft ../simplejob
20. -help 獲取幫助 qsub -help
21. -hold_jid wc_job_listt 定義或重定義當前提交的作業對哪些作業有依賴,所依賴的作業使用通配符作業清單表示:wc_job_list qsub -hold_jid 63926 ../simplejob
22. -hold_jid_ad wc_job_list ad=array dependency list of the submitted job 定義或者重定義組作業依賴列表。 qsub -hold_jid_ad 1-1200
23. -t n[-m[:s]] 指定組作業的數量,將指示器與作業關聯 qsub -t 1-1200 ../simplejob
24. -i [[hostname]:]file,... 定義或重定義一個文件為作業的標准輸入流 qsub -i stdin job
25. -j y[es]|n[o] 指定作業的標准錯誤流是否合並到標准輸出流,如果-j y 和-e都存在的話,SGE將忽略後者。 qsub -j y ../simplejob
qstat -f # 查看用戶任務
qstat -j jobId # 按任務id查看
qstat -explain a|c|A|E -j jobID # 查看任務任務並給出解釋
qstat -u user # 按用戶查看
qw: 表示等待狀態
hqw: 任務掛起等待中,待依賴的任務完成後執行
Eqw: 投遞任務出錯
r: 表示任務正在運行
s: 暫時掛起
dr: 節點掛了之後,刪除任務就會出現這個狀態,只有節點重啟之後,任務才會消失
qdel -j 1111 刪除任務號為1111的任務
qdel -u AAA 刪除AAA投遞的所有任務
歡迎大家交流心得~~~3QU!!!...........
---------------------------------------------------------------------------------------------------------I am a line !----------------------------------------------------------------------------------------------
『陸』 我們來講解以下如何才能編寫並行程序,以及如何編譯運行
我們下面以C 語言為例。
具體語法規則可參看《高性能計算並行編程技術-MPI 並行程序設計》一書。
mpicc -o outfilename cpi.c
其中outfilename 為編譯後的輸出文件,cpi.c 為源代碼.
可將cpi.c 下載後上傳的自己目錄下編譯.
例如:mpicc -o cpi cpi.c
如沒有安裝OpenPBS 則:
mpirun -np 4 cpi
否則:(一般安裝了)
之後需寫一作業提交腳本.例如:submit 內容如下:
#PBS -l nodes=nodes number
#PBS -N jobname#PBS -j oecd /home/xmin/Project
/usr/local/bin/mpiexec cpi
其中 #PBS -l nodes=nodes number 為指定幾個節點計算.如: nodes=4
#PBS -N jobname 為用戶命名的提交作業名稱.如: #PBS -N xmin
#PBS -j oe 為結果和錯誤輸出同文件.如無此項則分別在兩個文件中.
cd /home/xmin/Project 編譯後的輸出文件所在路徑(從根目錄開始).
/usr/local/bin/mpiexec cpi 為mpiexec 所在路徑.
下面是完整例子:
#PBS -l nodes=4
#PBS -N xmin#PBS -j oecd /home/xmin/Project
/usr/local/bin/mpiexec cpi
提交腳本如下:
qsub submit得到如下:3565.isc.math.nankai.e.cn
此為你的作業編號.
這樣你就可得到類似xmin.o2666 的文件,打開即可看到結果.
你還可以查詢作業提交情況.命令如下:qstat
『柒』 怎麼寫qsub提交腳本來執行任務
這個命令是瀏覽網頁用的啊,定時執行程序Linux不是沒有,就像windows的計劃任務一樣,linux更靈活。創建一個123.shell文件即shell腳本,內容如下 #shell 隔一小時執行php腳本 ->注釋 #用你php安裝文件下的bin里的php編譯工具 執行.php文件 /lamp
『捌』 script is written in dos/windows text format怎麼解決
單擊開始菜單 - 運行 - regedit.exe
[HKEY_CLASSES_ROOT\lnkfile\shell\open\command]
右邊的"C:\\WINDOWS\\System32\\WScript.exe\"
2:如果再回到打開桌面圖標時出現:
「該文件沒有程序與之關聯來執行該操作,請在控制面板的文件夾選項中創建關聯」字樣時的解決方法為以下:需要修復注冊表,
復制以下全部代碼用記事本或者別的什麼東東另存為.reg導入就OK了~
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.lnk]
@="lnkfile"
[HKEY_CLASSES_ROOT\.lnk\ShellEx]
[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{00021401-0000-0000-C000-000000000046}"
下面為解決方法:
1:手動刪除以下注冊表文件即可: