精华内容
下载资源
问答
  • 本次主要讲述后台运行命令(crontab,at,&,nohup)及(*,?,[])等• 设置c r o n t a b文件,并用它来提交作业。• 使用a t命令来提交作业。• 在后台提交作业。• 使用n o h u p命令提交作业。名词解释:cron:系统...

    本次主要讲述后台运行命令(crontab,at,&,nohup)及(*,?,[])等

    • 设置c r o n t a b文件,并用它来提交作业。

    • 使用a t命令来提交作业。

    • 在后台提交作业。

    • 使用n o h u p命令提交作业。

    名词解释:

    cron:系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。

    at命令:使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或高峰负荷时间段运行。

    &:使用它在后台运行一个占用时间不长的进程。

    nohup:用它在后台运行一个命令,即使在用户退出时也不受影响

    1.cron and crontab

    c

    r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。c r o n t a

    b命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e

    l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的c r o n t a

    b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n

    y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。

    crontab的域

    为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。

    下面就是这些域:

    代码:

    第1列分钟1~5 9

    第2列小时1~2 3(0表示子夜)

    第3列日1~3 1

    第4列月1~1 2

    第5列星期0~6(0表示星期天)

    第6列要运行的命令

    下面是c r o n t a b的格式:

    代码:

    分< >时< >日< >月< >星期< >要运行的命令

    其中< >表示空格。

    c r o n t a b文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位于星期的后面。

    可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1 - 5来表示。

    还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1 , 4来表示。

    可以用星号*来表示连续的时间段。如果你对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5个时间域,而且每个域之间要用空格分隔。

    该文件中所有的注释行要在行首用#来表示。

    c r o n t a b文件例子:

    代码:

    30 21* * * /apps/bin/cleanup.sh

    上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的c l e a n u p . s h。

    代码:

    45 4 1,10,22 * * /apps/bin/backup.sh

    上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。

    代码:

    10 1 * * 6,0 /bin/find -name "core" -exec rm {} ";

    上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。

    代码:

    0,30 18-23 * * * /apps/bin/dbcheck.sh

    上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。

    代码:

    0 23 * * 6 /apps/bin/qtrend.sh

    上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。

    可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l

    l脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n提交了这些作业,就要向c r o

    n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l

    l脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。

    如果c r o n不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。

    c r o n t a b命令的一般形式为:

    代码:

    crontab [-u user] -e -l -r

    其中:

    -u 用户名。

    -e 编辑c r o n t a b文件。

    -l 列出c r o n t a b文件中的内容。

    -r 删除c r o n t a b文件。

    如果使用自己的名字登录,就不用使用- u选项,因为在执行c r o n t a b命令时,该命令能够知道当前的用户。

    创建一个新的crontab文件

    向c r o n进程提交一个c r o n t a b文件之前,要先设置环境变量E D I TO R.c r o

    n进程根据它来确定使用哪个编辑器编辑c r o n t a b文件。大部份的U N I X和L I N U X用户都使用v

    i,如果你也是这样,那么你就编辑$ H O M E目录下的. p r o f i l e文件,在其中加入这样一行:

    代码:

    EDITOR=vi; export EDITOR

    然后保存并退出。

    创建一个名为< u s e r > c r o n的文件,其中< u s e r >是用户名,例如, samcron。在该文件中加入如下的内容。

    代码:

    #(put your own initials here) echo the date to the console every

    #15 minutes between 6pm and 6am

    0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

    保存并退出。确信前面5个域用空格分隔。

    在上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些系统中,用t t y 1来表示控制台,可以根据实际情况对上面的例子进行相应的修改。

    为了提交你刚刚创建的c r o n t a b文件,可以把这个新创建的文件作为c r o n命令的参数:

    代码:

    $su sam

    crontab samcron

    为了方便演示,切换到sam用户环境下,然后用crontab samcron提交给c r o n进程,它将每隔1 5分钟运行一次。

    同时,新创建文件的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名(即sam)。

    代码:

    #su

    # cat /var/spool/cron/sam

    # DO NOT EDIT THIS FILE - edit the master and reinstall.

    # (samcron installed on Wed Nov 10 21:41:55 2004)

    # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

    #(put your own initials here) echo the date to the console every

    #15 minutes between 6pm and 6am

    0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

    回到root下,查看/var/spool/cron/sam

    列出crontab文件

    为了列出c r o n t a b文件,可以用:

    代码:

    $ crontab -l

    # DO NOT EDIT THIS FILE - edit the master and reinstall.

    # (samcron installed on Wed Nov 10 21:41:55 2004)

    # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

    #(put your own initials here) echo the date to the console every

    #15 minutes between 6pm and 6am

    0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

    你将会看到和上面类似的内容。可以使用这种方法在$ H O M E目录中对c r o n t a b文件做一备份:

    代码:

    $ crontab -l > $HOME/mycron

    这样,一旦不小心误删了c r o n t a b文件,可以用上一节所讲述的方法迅速恢复。

    编辑crontab文件

    如果希望添加、删除或编辑c r o n t a b文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑c r o n t a b文件,相应的命令为:

    代码:

    $ crontab -e

    可以像使用v i编辑其他任何文件那样修改c r o n t a b文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, c r o n会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。

    例如,加入下面的一条:

    代码:

    #DT:delete core files,at 3:30am on 1,7,14,21,26 days of each month

    30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} ";

    现在保存并退出。最好在c r o n t a b文件的每一个条目之上加入一条注释,这样就可以知道它的功能、运行时间,更为重要的是,知道这是哪位用户的作业。

    现在让我们使用前面讲过的crontab -l命令列出它的全部信息:

    代码:

    #(put your own initials here) echo the date to the console every

    #15 minutes between 6pm and 6am

    0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

    #DT:delete core files,at 3:30am on 1,7,14,21,26 days of each month

    30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} ";

    删除crontab文件

    为了删除c r o n t a b文件,可以用:

    代码:

    $ crontab -r

    恢复丢失的crontab文件

    果不小心误删了c r o n t a b文件,假设你在自己的$ H O M E目录下还有一个备份,那么可以将其拷贝到/ v a r / s p

    o o l / c r o n / < u s e r n a m e >,其中< u s e r n a m e

    >是用户名。如果由于权限问题无法完成拷贝,可以用:

    代码:

    $ crontab

    其中,< f i l e n a m e >是你在$ H O M E目录中副本的文件名。

    建议在自己的$ H O M E目录中保存一个该文件的副本。编辑副本,然后重新提交新的文件。

    些c r o n t a b的变体有些怪异,所以在使用c r o n t a b命令时要格外小心。如果遗漏了任何选项,c r o n t a

    b可能会打开一个空文件,或者看起来像是个空文件。这时敲d e l e t e键退出,不要按< C t r l - D

    >,否则你将丢失c r o n t a b文件。

    2.at

    a

    t命令允许用户向c r o n守护进程提交作业,使其在稍后的时间运行。一旦一个作业被提交, a

    t命令将会保留所有当前的环境变量,包括路径,不象c r o n t a

    b,只提供缺省的环境。该作业的所有输出都将以电子邮件的形式发送给用户,除非你对其输出进行了重定向,绝大多数情况下是重定向到某个文件中。

    和c

    r o n t a b一样,根用户可以通过/ e t c目录下的a t . a l l o w和a t . d e n

    y文件来控制哪些用户可以使用a t命令,哪些用户不行。不过一般来说,对a t命令的使用不如对c r o n t a b的使用限制那么严格。

    a t命令的基本形式为:

    代码:

    at [-f script] [-m -l -r] [time] [date]

    其中,

    -f:script 是所要提交的脚本或命令。

    -l:列出当前所有等待运行的作业。a t q命令具有相同的作用。

    -r:清除作业。为了清除某个作业,还要提供相应的作业标识( I D);有些U N I X变体只接受a t r m作为清除命令。

    -m:作业完成后给用户发邮件。

    time:at命令的时间格式非常灵活;可以是H、H H . H H M M、H H : M M或H : M,其中H和M分别是小时和分钟。还可以使用a . m .或p . m .。

    date:日期格式可以是月份数或日期数,而且a t命令还能够识别诸如t o d a y、t o m o r r o w这样的词。

    使用at命令提交命令或脚本

    使用a t命令提交作业有几种不同的形式,可以通过命令行方式,也可以使用a t命令提示符。一般来说在提交若干行的系统命令时,使用a t命令提示符方式,在提交s h e l l脚本时,使用命令行方式。

    提示符方式:

    代码:

    以在a t命令后面跟上日期/时间并回车。然后就进入了a t命令提示符,这时只需逐条输入相应的命令,然后按‘ < C T R L - D >’退出。

    命令行方式:

    代码:

    at [-f script] [-m -l -r] [time] [date]

    例一:提示符方式

    代码:

    # su sam

    $ at 10:40

    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

    at> find /etc -name "passwd" -print

    at>

    job 1 at 2004-11-02 10:40

    其中, < E O T >就是< C T R L - D >。在10:40系统将执行一个简单的f i n d命令。提交的作业被分配了一个唯一标识job 1。该命令在完成以后会将全部结果以邮件的形式发送给我。

    下面这些日期/时间格式都是a t命令可以接受的:

    代码:

    at 5.00am May23

    at 11.20pm

    at now +2 hour

    at 9am tomorrow

    at 15:00 May24

    at now + 10 minutes

    例二:命令行方式

    如果希望向a t命令提交一个s h e l l脚本,使用其命令行方式即可。在提交脚本时使用- f选项。

    如:

    代码:

    $ touch db_table.sh

    $ at 3:00pm tomorrow -f db_table.sh

    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

    job 3 at 2004-11-02 15:00

    在上面的例子中,一个叫做d b _ t a b l e . s h的脚本将在2004-11-02 15:00运行。

    还可以使用e c h o命令向a t命令提交作业:

    代码:

    $ echo find /etc -name "passwd" -print | at now +1 minute

    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

    job 4 at 2004-11-01 19:07

    列出所提交的作业

    一个作业被提交后,可以使用at -l命令来列出所有的作业:

    代码:

    $ at -l

    1       2004-11-02 10:40 a sam

    3       2004-11-02 15:00 a sam

    4       2004-11-01 19:07 a sam

    其中,第一行是作业标识,后面是作业运行的日期/时间。最后一列a代表a t。

    还可以使用a t q命令来完成同样的功能,它是a t命令的一个链接。

    直接>atq,相当于>at -l

    当提交一个作业后,它就被拷贝到/ v a r / s p o o l / a t目录中,准备在要求的时间运行。

    代码:

    # pwd

    /var/spool/at

    # ls -l

    清除一个作业

    清除作业的命令格式为:

    代码:

    atrm [job no] 或at -r [job no]

    要清除某个作业,首先要执行at -l命令,以获取相应的作业标识,然后对该作业标识使用at -r 命令,清除该作业。

    代码:

    $ at -l

    1       2004-11-02 10:40 a sam

    3       2004-11-02 15:00 a sam

    4       2004-11-01 19:07 a sam

    $at -r 3

    $at -l

    1       2004-11-02 10:40 a sam

    4       2004-11-01 19:07 a sam

    有些系统使用at-r [job no]命令清除作业。

    3.&

    当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。

    该命令的一般形式为:

    代码:

    命令&

    在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。

    不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:

    代码:

    command >out.file 2>&1 &

    在上面的例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。

    当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。

    例一:

    查找名为“httpd.conf”的文件,并把所有标准输出和错误输出重定向到f i n d . d t的文件中:

    代码:

    # find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

    [2] 7832

    [1]   Done                    find /etc/ -name "httpd.conf" -print >find.dt 2>&1 &

    成功提交该命令之后,系统给出了它的进程号7832。

    代码:

    # cat find.dt

    /etc/httpd/conf/httpd.conf

    [2]+  Done                    find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

    查看find.dt,可以看到执行结果

    例二:

    在后台执行脚本,如:有一个叫psl的脚本

    代码:

    $ps psl &

    [7878]

    用ps命令查看进程

    用提交命令时所得到的进程号来监控它的运行。用p s命令和g r e p命令列出这个进程:

    代码:

    # ps -x |grep 7832

    7868 pts/0    S      0:00 grep 7832

    如果系统不支持ps x命令,可以用:

    代码:

    # ps -ef |grep 7832

    root      7866  7790  0 23:40 pts/0    00:00:00 grep 7832

    在用p s命令列出进程时,它无法确定该进程是运行在前台还是后台。

    杀死后台进程

    杀死后台进程可以使用k i l l命令。当一个进程被放到后台运行时, s h e l l会给出一个进程号,我们可以根据这个进程号,用k i l l命令杀死该进程。该命令的基本形式为:

    代码:

    kill -signal [process_number]

    现在暂且不要考虑其中的各种不同信号。

    在杀进程的时候,执行下面的命令(你的进程号可能会不同)并按回车键。系统将会给出相应的信息告诉用户进程已经被杀死。

    代码:

    $kill 7832

    如果系统没有给出任何信息,告诉你进程已经被杀死,那么不妨等一会儿,也许系统正在杀该进程,如果还没有回应,就再执行另外一个k i l l命令,这次带上一个信号选项:

    代码:

    $kill - 9 7868

    如果用上述方法提交了一个后台进程,那么在退出时该进程将会被终止。为了使后台进程能够在退出后继续运行,可以使用n o h u p命令。

    4.nohug

    如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用n o h u p命令。该命令可以在你退出帐户之后继续运行相应的进程。n o h u p就是不挂起的意思( no hang up)。

    该命令的一般形式为:

    代码:

    nohup command &

    使用nohup命令提交作业

    如果使用n o h u p命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为n o h u p . o u t的文件中,除非另外指定了输出文件:

    代码:

    nohup command > myout.file 2>&1

    在上面的例子中,输出被重定向到m y o u t . f i l e文件中。

    让我们来看一个例子,验证一下在退出帐户后相应的作业是否能够继续运行。我们先提交一个名为p s 1的日志清除进程:

    代码:

    $nobup ps1 &

    现在退出该s h e l l,再重新登录,然后执行下面的命令:

    代码:

    $ps x |grep ps1

    我们看到,该脚本还在运行。如果系统不支持ps x命令,使用ps -ef|grep ps1命令。

    5.一次提交几个作业

    如果希望一次提交几个命令,最好能够把它们写入到一个s h e l l脚本文件中,并用n o h u p命令来执行它。

    例如,下面的所有命令都用管道符号连接在一起;我们可以把这些命令存入一个文件,并使该文件可执行。

    代码:

    cat /home/accounts/qrt_0499 | /apps/bin/trials.awk | sort | lp

    $cat > quarterend

    cat /home/accounts/qtr_0499 | /apps/bin/trials.awk | sort | lp

    现在让它可执行:

    代码:

    $ chmod 744 quarterend

    我们还将该脚本的所有输出都重定向到一个名为q t r. o u t的文件中。

    代码:

    nobup ./quarterend > qtr.out 2>

    后台运行作业的:

    有时我们必须要对大文件进行大量更改,或执行一些复杂的查找,这些工作最好能够在系统负荷较低时执行。

    创建一个定时清理日志文件或完成其他特殊工作的脚本,这样只要提交一次,就可以每天晚上运行,而且无需你干预,只要看看相应的脚本日志就可以了。c r o n和其他工具可以使系统管理任务变得更轻松。

    6.*,?,[...],[!...]等

    • 匹配文件名中的任何字符串。

    • 匹配文件名中的单个字符。

    • 匹配文件名中的字母或数字字符。

    下面就是这些特殊字符:

    * 匹配文件名中的任何字符串,包括空字符串。

    ? 匹配文件名中的任何单个字符。

    [...] 匹配[ ]中所包含的任何字符。

    [!...] 匹配[ ]中非感叹号!之后的字符。

    当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名。

    a、*:使用星号*可以匹配文件名中的任何字符串。就不用多说了,和win下差不多

    b、?:使用可以匹配文件名中的任何单个字符。和win差不多

    c、[]:使用[ . . . ]可以用来匹配方括号[ ]中的任何字符。可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。

    1)列出以i或o开头的文件名:

    代码:

    #ls [io]*

    2)列出log.开头、后面跟随一个数字、然后可以是任意字符串的文件名:

    代码:

    #ls log.[0-9]*

    3)与例二相反,列出log.开头、后面不跟随一个数字、然后可以是任意字符串的文件名

    代码:

    #ls log.[!0-9]*

    4)列出所有以LPS开头、中间可以是任何两个字符,最后以1结尾的文件名:

    代码:

    #ls LPS??1

    5)列出所有以大写字母开头的文件名:

    代码:

    $ ls [A-Z]*

    6)列出所有以小写字母开头的文件名:

    代码:

    $ ls [a-z]*

    7)为了列出所有以数字开头的文件名:

    代码:

    $ ls [0-9]*

    8)列出所有以. 开头的文件名(隐含文件,例如. p r o f i l e、. r h o s t s、. h i s t o r y等):

    代码:

    $ ls .*

    展开全文
  • 参考答案如下命命令基金收益分配不得低于基金净收益的( )发明问题的特征是,令中问题的初始定义含糊不清。因此,在一开始尝试解决这个问题时常常会遇到无法克服的困难。 乘坐火车时,候车、行j序_______及下车等方面...

    参考答案如下

    命命令基金收益分配不得低于基金净收益的( )

    发明问题的特征是,令中问题的初始定义含糊不清。因此,在一开始尝试解决这个问题时常常会遇到无法克服的困难。

    乘坐火车时,候车、行j序_______及下车等方面都包含着许多礼仪。

    命命令作为一个创业机会必然需要考虑的要素是下面哪一个

    令中Which of the following needs in Maslow\'s hierarchy of needs is generally satisfied the last?

    行j序手机垂直向下俯拍时,画面中心出现的十字交叉点作用是提示是否与水平面垂直。

    命命令智慧职教: 经第四脑室的颅脑部横断层上的结构不包括

    令中自拍杆在使用过程中可以通过调节杆体的长度达到所需要的拍摄距离和角度。

    行j序治疗决策应具体考虑以下哪三个方面

    命命令电脑屏幕和投影仪都是发光体,所以拍摄时通常需要增加曝光量

    令中关于信用卡的说法正确的是()

    采用肌间沟做臂丛神经阻滞时,行j序最常见阻滞不全的是桡神经。

    在三投影面体系中,命命令将物体由上向下投射,在水平投影面上得到的视图被称为仰视图。

    令中5.3 新闻采访策划的主要内容有哪些?

    行j序肌间沟法臂丛神经阻滞的穿刺点在斜方肌和中斜角肌之间。

    展开全文
  • 【CTF WEB】命令执行

    2021-04-26 21:27:03
    C&num;绘制传感器代码//以下代码添加到任一窗口下即可 private int 旋转角度 = 0; private int 边长 = 10; protected override ...BZOJ2819 Nim(DFS序)题目:单点修改.树链查询. 可以直接用树链剖分做.....

    C&num;绘制传感器代码

    //以下代码添加到任一窗口下即可        private int 旋转角度 = 0;        private int 边长 = 10;        protected override ...

    BZOJ2819 Nim(DFS序)

    题目:单点修改.树链查询. 可以直接用树链剖分做.. 修改是O(QlogN),查询是O(QlogNlogN),Q=N=500000: 听说会超时.. 这题也可以用DFS序来做. 先不看修改,单单查询: ...

    Block的引用循环问题 &lpar;ARC &amp&semi; non-ARC&rpar;

    2010年WWDC发布iOS4时Apple对Objective-C进行了一次重要的升级:支持Block.说到底这东西就是闭包,其他高级语音例如Java和C++已有支持,第一次使用Block感觉满简单好 ...

    vue视频学习笔记01

    video 1 vue:读音: v-u-eview vue到底是什么?一个mvvm框架(库).和angular类似比较容易上手.小巧mvc:mvpmvvmmv*mvx官网:http://cn.vuej ...

    一起学习java

    一.Servlet学习      下面是Servlet一个整体的继承结构       首先说一下Servlet这个接口这个主要包含的有init,service,destroy等方法,这里主要介绍这3个 ...

    几个关于js数组方法reduce的经典片段

    以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...

    leetcode python两数之和返回索引

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...

    Faster-RCNN tensorflow 程序细节

    tf-faster-rcnn github:https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小 ...

    Spark JDBC To MySQL

    mysql jdbc driver下载地址https://dev.mysql.com/downloads/connector/j/ 在spark中使用jdbc1.在 spark-env.sh 文件中加 ...

    002&period;AnyCast技术浅析

    一      常见通信方式 1.1  UniCastAnyCast UniCast,即单播,指网络中一个节点与另一个节点之间需要建立一个单独的数据通道,从一个节点发出的信息只被一个节点收到,这种传送方 ...

    展开全文
  • 调度命令

    2021-06-20 02:48:22
    为了落实运行图及编组方案,保证运输秩序的正常运转,及时处理所辖区段内的突发情况,列车调度员代表铁道部或路局面向基层运输站段下达的书面命令,称之为调度命令。中文名调度命令外文名Dispatching command定义...

    为了落实运行图及编组方案,保证运输秩序的正常运转,及时处理所辖区段内的突发情况,列车调度员代表铁道部或路局面向基层运输站段下达的书面命令,称之为调度命令。

    中文名

    调度命令

    外文名

    Dispatching command

    定    义

    行车调度处理日常行车工作中问题分    类

    口头和书面

    作    用

    保证运输秩序的正常运转

    学    科

    交通工程

    调度命令调度命令概念

    编辑

    语音

    调度命令是指行车调度处理日常行车工作中有关问题,以及在非正常情况下组织指挥行车有关部门、单位和人员办理行车工作、指示作业方法和安全注意事项的带有约束性的以书面形式下达的指令,是行车各部门具体办理行车工作的根据,是行车调度组织指挥行车工作和安全生产的必要手段,也是考察行车调度组织指挥工作的过程及工作质量的依据。它体现了铁路行车工作集中领导、统一指挥的原则。各行车有关部门、单位和人员必须服从行车调度的调度命令,严格按照调度命令的具体要求进行工作。

    除调度命令以外,调度员在日常生产指挥中向有关人员发布的完成运输生产任务的具体部署和指挥行车工作的指令,称为口头指示。口头指示和调度命令具有同等作用,有关人员必须坚决执行:发布口头指示,也应正确、及时、清晰、完整。

    需要发布口头指示的事项:编组超重列车;中间站到发线占用;跟踪出站调车;原规定为通过的旅客列车南正线变更为到发线接车,特快旅客列车遇特殊情况必须变更基本进路时;单线自动闭塞在发车前;自闭区间列车退行时;不适于连挂在列车中部但走行部良好的车辆挂于列车尾部时;其他需要明确但无需发布调度命命令的事项。[1]

    调度命令分类

    编辑

    语音

    调度命令口头命令

    列车调度员发布口头命令有以下几种:

    (1)临时加开或停开列车(包括客车、工程车及救援列车)。

    (2)客车推进运行、退行,工程车退行。

    (3)停站客车临时变通过。

    (4)列车降级运行时。

    (5)列车救援时。

    (6)列车中途清客。

    (7)变更列车进路。

    调度命令书面命令

    书面命令发布的内容包含命令号、受令处所、受令人、命令内容、发令日期、发令时间、发令人姓名及复诵人姓名等.需在“调度命令登记簿”中填记。列车调度员发布书面命令有以下几种:

    (1)发布线路限速或取消限速。

    (2)封锁、开通线路时。

    (3)列车调度员认为有必要记录的命令。[2]

    bb2905cc06bdc97defa87ace80701474.png

    调度命令原则

    编辑

    语音

    1.指挥列车运行的命令和口头指示,只能由列车调度员发布。

    旅客列车的加开、停运、折返、变更径路及车辆甩挂的命令,经铁道部、铁路局客运调度分别报告值班处长、值班主任同意签字后,由客运调度员发布。

    2.调度命令发布前,应详细了解现场情况,听取有关人员的意见,书写命令内容、受令处所必须正确、完整、清晰。

    3.采用计算机发布调度命令时,必须严格遵守“一拟、二签(按规定需领导、值班主任签发)、三下达、四确认签收”的发布程序。受令人必须认真核对命令内容并及时签收。

    4.采用电话发布调度命令时,必须严格遵守“一拟、二签(按规定需领导、值班主任签发)、三发布、四复诵核对、五下达命令号码和时间”的发布程序办理。发布、接收调度命令时,应填记《调度命令登记簿》(《技规》附件七),并记明发收人员姓名及时刻。

    5.铁路局列车调度员发布行车命令,要一事一令,不得填写其他内容。遇有不正确的文字不准涂改,应圈掉后重新书写。使用常用行车调度命令用语时,不用字句圈掉,不用项圈掉项号。已发布的调度命令,遇有错、漏时,必须取消前发命令,重新发布。

    6.铁道部发布的“常用行车调度命令用语”未涉及的项目,铁路局确需发布行车调度命令,由铁路局制定调度命令用语。

    7.设有双线双向闭塞设备的区间且作用良好,需要连续反方向行车时,可一次发布调度命令。

    8.不准以月度施工方案代替施工调度命令。施工主管部门(单位)要将次日施工计划,提前上报施工调度员。施工调度员应提前向行车有关单位发布施工计划调度命令,发布施工计划调度命令,不准夹带与受令处所无关的内容和命令。实际施工调度命令由列车调度员发布。

    9.施工封锁或开通的调度命令,列车调度员必须得到车站值班员的请求(CTC区段无车站值班员的车站,由施工单位负责人请求)后,方可发布。

    10.发布有关线路、道岔限速的调度命令,必须注明起止里程(包括站内线别、道岔号码)及时间。发布事故救援命令、月度施工计划或施工电报涉及限速的有关线路、道岔必须注明里程。

    11.指定时间段内的维修作业,车站值班员在维修作业完毕销记后应立即报告列车调度员,列车调度员不再发布维修作业结束恢复行车的命令。如需延长作业时间须列车调度员发布调度命令批准。

    12.跨局途中无停点旅客列车的行车命令,可由有关铁路局直接向两端局机务、车务(列车)段下达。

    13.在具备良好转接设备和通信记录装置的条件下,对以下内容可使用无线调度电话向值乘司机、运转车长发布、转达调度命令,遇限速运行的调度命令,指定由进入关系区间(站)前的第二个车站值班员提示司机。

    ⑴恢复原行车闭塞法;

    ⑵设有双线双向闭塞设备的区间且作用良好,双线反方向行车;

    ⑶按规定时间延迟施工或提前结束施工;

    ⑷有计划封锁施工开通后,指定限速要求的列车;

    ⑸有临时限速要求的列车;

    ⑹临时停运列车、加开单机;

    ⑺旅客列车以外的列车在非到发线上接车或发车;

    ⑻半自动闭塞区间,超长列车头部越过出站信号机(未压上出站方面的轨道电路)发车;

    ⑼进站(接车进路)信号机故障的引导接车;

    ⑽机车信号、列车运行监控记录装置、列尾装置故障;

    ⑾列车由列控车载设备方式人工控车转入隔离模式;

    ⑿列车退出隔离模式,人工转换为列控车载设备方式控车;

    ⒀动车组在区间被迫停车后,准许返回后方站;

    ⒁特殊情况下,不能在基本进路上接发动车组;

    ⒂铁路局规定可以利用无线调度电话发布、转达的调度命令。

    14.为确保列车运行安全和秩序,尽量采取不停车交付调度命令,具备调度命令无线传送系统的,应使用该系统向值乘司机发布调度命令,受令人涉及运转车长的,由司机向运转车长转达;符合使用无线调度通信设备发布、转达调度命令的内容和条件时,应用无线调度通信设备发布、转达调度命令。不具备上述条件时,本区段有停车站,列车调度员在进入关系区间前的停车站交付调度命令;本区段无停车站,有关局可委托有停车站的所在局通过停车站向值乘司机和运转车长转发调度命令。委托局要向受委托局说明转发调度命令的内容和具体车次,受委托局在时间允许情况下,不得拒绝委托。如来不及时,必须在列车进入关系区间前的车站停车交付调度命令。委托电话应具备良好的通信记录装置。

    15.在CTCS-2级区段,对于200km/h动车组运行,站内正线或区间遇有限速时,列车调度员必须提前用数据格式向相关车站列控中心发布限速的调度命令。

    对临时产生的限速或提前发布的限速命令有变化时,应通过调度命令无线传送系统向列车发布限速的调度命令。

    司机接到车站关于“列控中心故障或限速命令未正确设置”的通知后,按限速命令人工控制列车运行速度。

    区间限速区长度超过6000m时,列车调度员应按区间限速下达限速命令。

    限速速度分为5档:45、60、80、120、160km/h。当实际限速速度小于45km/h时,列车调度员按实际限速值填写数据格式,由司机按调度命令控车。

    16.使用调度命令无线传送系统、计算机或传真机发布行车调度命令,必须认真执行确认和回执制度。

    17.遇下列情况列车调度员不发调度命令

    ⑴自动闭塞区间,出站(发车进路)信号机故障、停用时发出列车。

    ⑵在未设出站信号机的正线、到发线上,向自动闭塞区间发出列车。

    ⑶自动闭塞区间一架通过信号机故障(站间区间仅设一架通过信号机的除外)。

    ⑷旅客列车在技术停车站(不办理客运业务和技术作业)临时变更通过。

    调度命令作业要求

    编辑

    语音

    (1)调度命令须列车调度员拟写,经审核后发布。

    (2)调度命令号顺序循环使用,每一个循环期间不得漏号、跳号及重号使用。

    (3)命令处所为沿线各站及运转部门,填记时采用标准站名。

    (4)受令人、发令人、复诵人均须填记全名。

    (5)发令日期、发令时间应填记正确无误。

    (6)命令内容中空缺的内容应正确填写,做到不随意涂改。如命令内容填写错误时,需在错误处划横线。在上方填写正确内容并盖发令者(受令者)名章进行标注。

    (7)发布调度命令后,应及时将命令表按命令号顺序装订在册,做到不遗漏、不颠,倒顺序。

    (8)在日常运行过程中如无法及时将书面命令传递给司机时,应适时完成命令的补交手续。[2]

    参考资料

    1.

    杨敏炯主编,铁路运输调度知识读本,中国铁道出版社,2014.02,第126页

    2.

    韩小平主编;倪硕主审,城市轨道交通列车调度员,中国铁道出版社,2014.09,31-33

    展开全文
  • 命令执行漏洞

    2021-03-23 19:30:57
    0x01:命令执行漏洞简介用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许使用者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意...
  • javaHelloWorld命令运行编译好的字节码文件。... 上面的javac命令执行完毕后,会在bin目录下生成一个字节码文件“HelloWorld.class”。 1.3第一个Java程序 运行Java程序 在命令行窗口中输入“java HelloWorld...
  • android 执行Shell命令

    2021-12-04 11:18:54
    在Android中执行shell命令,测试了多个,只有这个能执行成功:测试环境,android系统10。 /** * 执行 adb 命令 * * @param cmd 命令 * @return */ public static StringBuffer shellExec(String cmd) { ...
  • python中subprocess批量执行linux命令

    千次阅读 2021-01-13 21:16:29
    可以执行shell命令的相关模块和函数有:os.systemos.spawnos.popen --废弃popen --废弃commands --废弃,3.x中被移除以上执行shell命令的相关的模块和函数的功能均在 subprocess 模块中实现,并提供了更丰富的功能。...
  • 本文主要介绍了在python脚本中调用linux命令行执行命令时如何获取命令行所执行命令在终端的输出结果(显示的结果),希望帮助到有需要的人。
  • JAVA中如何执行DOS命令

    2021-02-26 20:13:44
    JAVA中如何执行DOS命令如果要执行一条DOS内部命令,有两种方法。一种方法是把命令解释器包含在exec()的参数中。另一种方法是,把内部命令放在一个批命令my_dir.bat文件中,在Java程序 中写成exec("my_dir.bat")。...
  • 在php编程中,用于执行系统外部命令的方法有很多...passthru() 只调用命令,把命令运行结果原样地直接输出到标准输出设备上。相同点:都可以获得命令执行的状态码。例如:复制代码 代码示例://system('dir');// ex...
  • C语言执行cmd并获取执行结果
  • 如果命令没有相互依赖的状态,则可以将它们并行化.有很多方法可以做到这一点,但其中一个更容易的是使用线程包的thread pooling(这需要一个线程Tcl,现在许多平台上的标准):package require Threadset pool [tpool::...
  • 祝大家新年快乐,身体健康,工作顺利,牛年大吉!1 参考资料 1、【c/c++】如何调用【linux】shell命令行命令并获取命令行的输出内容(https://blog.csdn.net/...
  • 一、远程执行命令方式及对应端口: IPC$+AT 445 PSEXEC445 WMI135 Winrm5985(HTTP)&5986(HTTPS)二、9种远程执行cmd命令的方法:1.WMI执行命令方式,无回显:wmic /node:192.168.1.158 /user:pt007 /...
  • Redis命令执行全过程

    2021-05-10 22:14:54
    这个问题说简单也很简单,无非就是客户端发送命令请求,服务器读取命令请求,然后是命令执行器查找命令实现,执行预备操作,调用命令实现函数,执行后续工作。但是我们想要了解的不能简简单单的就是这些。下面我们...
  • 如今,计算机性能得到了极大的提高,但是如果您有一个程序需要大量计算并且仅在一个内核上运行,则其他内核将处于空闲状态。如果要提高速度,该软件必须注意并充分利用大内核。接下来,让我们看一下如何使命令运行更...
  • 方法1若有SQL脚本a.sql, b.sql, 其目录在f盘根目录下, 则可...然后执行source f:/c.sql 即可.方法2方法1的不便之处在于, 要为每个脚本写一句代码, 若有成千上万个, 这样写便不现实. 此时, 可用批处理来实现.以执行f:...
  • 本发明属于信息技术领域,具体涉及一种无回显的远程命令执行漏洞的验证方法。背景技术:远程命令执行漏洞是一种常见的高危害级别的漏洞。通过这个漏洞,能够让攻击者在远程服务器上执行指定的命令。如whoami,cat/etc...
  • 首次用make命令,编译得到执行文件,反汇编文件,烧录镜像文件 1 背景 最近在跟随教程,基于s5pv210 SOC芯片,系统性学习Linux嵌入式开发。 2 make指令编译前 文件夹主要文件为: led.S - 汇编文件 Makefile...
  • 如何通过Java程序执行docker命令我不需要调用Docker远程API,而是需要开发一个与Docker Linux Client(不是Docker守护进程)对话的程序。 这是我的代码try { String[] command = {"docker", "run", "-it", "tomcat:9",...
  • windows命令行运行.cpp文件配置环境变量启动命令执行文件 配置环境变量 首先下载好VC6.0,然后配置环境变量 VC6下载链接win7、win10 在系统属性-高级-环境变量-用户变量中: 1. 编辑PATH增加cl编译器的路径D:\...
  • 一、salt常用命令salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令salt [options]''[arguments]如:salt '*'test.pingsalt-run 该命令执行runner(salt带的或者自定义的,runner以后会讲)...
  • 当我尝试在Mac上运行shell命令时,它按预期工作如下:scala> import scala.sys.process._import scala.sys.process._scala> """protractor --version"""!warning: there were 1 feature warning(s); re-run ...
  • 命令执行CommandExecution漏洞 RCE(remote command/code execute) RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行 一般出现这种漏洞,是因为应用系统从...
  • android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令。那么在android的shell中是否就不能执行java程序了呢。答案是否定的。我们可以通过app_process来执行...
  • bat命令 延迟执行

    2020-12-31 17:45:15
    1、使用WScirpt的sleep功能,精度0.001秒 创建vbs延迟文件,然后在批处理文件中调用,使用WScript的 sleep函数,实现...1、使用choice命令 choice /t 10 /c yn /n /d n /m (10秒后打开) CHOICE [/C choices] [/.
  • linux C程序中获取shell脚本输出1. 前言2. 使用临时文件3. 使用匿名管道4....比如实现一个 ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通...
  • Mac 终端命令运行java

    千次阅读 2021-02-25 18:22:20
    标签:由于mac已经装好java环境,所以直接课运行java命令,很方便。编译一个java文件:javac /Users/用户名/Desktop/HelloWorld.java (运行后会得到一个HelloWorld.class文件,存放目录在desktop)运行:首先要cd到...
  • java-用cmd运行java命令

    2021-06-19 07:56:22
    在用cmd运行java开发工具之前,我们要先完成环境变量的设置,设置环境变量的目的是为了在整个系统的任何路径下都可以使用java工具来运行程序。 1.环境变量设置

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 919,730
精华内容 367,892
关键字:

命令必须得到执行