⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpdkilljob.py

📁 mpi并行计算的c++代码 可用vc或gcc编译通过 可以用来搭建并行计算试验环境
💻 PY
字号:
#!/usr/bin/env python##   (C) 2001 by Argonne National Laboratory.#       See COPYRIGHT in top-level directory.#"""usage: mpdkilljob  jobnum  [mpdid]  # as obtained from mpdlistjobs   or: mpdkilljob  -a jobalias      # as obtained from mpdlistjobs    mpdid is mpd where process with 'rank' 0 starts    mpdid of form 1@linux02_32996 (may need \@ in csh)"""from time import ctime__author__ = "Ralph Butler and Rusty Lusk"__date__ = ctime()__version__ = "$Revision: 1.17 $"__credits__ = ""import sys, os, signalfrom  mpdlib  import  mpd_set_my_id, mpd_uncaught_except_tb, mpd_print, \                      mpd_handle_signal, mpd_get_my_username, MPDConClientSock, MPDParmDBdef mpdkilljob():    import sys    # to get access to excepthook in next line    sys.excepthook = mpd_uncaught_except_tb    if len(sys.argv) < 2  or  sys.argv[1] == '-h'  or  sys.argv[1] == '--help':        usage()    signal.signal(signal.SIGINT, sig_handler)    mpd_set_my_id(myid='mpdkilljob')    mpdid = ''    if sys.argv[1] == '-a':        jobalias = sys.argv[2]        jobnum = '0'    else:        jobalias = ''        jobid = sys.argv[1]        sjobid = jobid.split('@')        jobnum = sjobid[0]        if len(sjobid) > 1:            mpdid = sjobid[1]    parmdb = MPDParmDB(orderedSources=['cmdline','xml','env','rcfile','thispgm'])    parmsToOverride = {                        'MPD_USE_ROOT_MPD'            :  0,                        'MPD_SECRETWORD'              :  '',                      }    for (k,v) in parmsToOverride.items():        parmdb[('thispgm',k)] = v    parmdb.get_parms_from_env(parmsToOverride)    parmdb.get_parms_from_rcfile(parmsToOverride)    if (hasattr(os,'getuid')  and  os.getuid() == 0)  or  parmdb['MPD_USE_ROOT_MPD']:        fullDirName = os.path.abspath(os.path.split(sys.argv[0])[0])  # normalize        mpdroot = os.path.join(fullDirName,'mpdroot')        conSock = MPDConClientSock(mpdroot=mpdroot,secretword=parmdb['MPD_SECRETWORD'])    else:        conSock = MPDConClientSock(secretword=parmdb['MPD_SECRETWORD'])    msgToSend = { 'cmd':'mpdkilljob', 'jobnum' : jobnum, 'mpdid' : mpdid,                  'jobalias' : jobalias, 'username' : mpd_get_my_username() }    conSock.send_dict_msg(msgToSend)    msg = conSock.recv_dict_msg(timeout=5.0)    if not msg:        mpd_print(1,'no msg recvd from mpd before timeout')        sys.exit(-1)    if msg['cmd'] != 'mpdkilljob_ack':        if msg['cmd'] == 'already_have_a_console':            print 'mpd already has a console (e.g. for long ringtest); try later'        else:            print 'unexpected message from mpd: %s' % (msg)        sys.exit(-1)    if not msg['handled']:        print 'job not found'        sys.exit(-1)    conSock.close()def sig_handler(signum,frame):    mpd_handle_signal(signum,frame)  # not nec since I exit next    sys.exit(-1)def usage():    print __doc__    sys.exit(-1)if __name__ == '__main__':    mpdkilljob()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -