cronによるコマンド実行順番

Linux

疑問

  • crontabへ同時刻に実行するコマンドを書いたときに、各コマンドの終了を待って次に実行するのか?それとも、サブプロセスで実行するのか?
  • ひと言で言えば、同期実行非同期実行でコマンドを実行するのか?

答え

非同期実行

補足: 同期実行させたいときは、こんな感じ。

33 17 * * * /home/matsu/sleep.sh ; /home/matsu/sleep.sh

検証

実行するファイルの中身。sleep.sh

#!/bin/sh
sleep 60

crontabに記述

[matsu@dev ~]% crontab -l
# m h  dom mon dow   command
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh
33 17 * * * /home/matsu/sleep.sh

root      2015  0.0  0.0   2192   864 ?        Ss   03:39   0:00 /usr/sbin/cron
root      4339  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4340  0.0  0.1   4992  1412 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4344  0.0  0.0   3612   472 ?        S    17:33   0:00  |       \_ sleep 60
root      4341  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4342  0.0  0.1   4992  1412 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4350  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4343  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4345  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4357  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4346  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4347  0.0  0.1   4988  1404 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4362  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4348  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4364  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4371  0.0  0.0   3612   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4349  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4351  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4377  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4352  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4353  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4381  0.0  0.0   3612   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4354  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4355  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4370  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4356  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4358  0.0  0.1   4992  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4372  0.0  0.0   3612   472 ?        S    17:33   0:00  |       \_ sleep 60
root      4359  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4376  0.0  0.1   4988  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4382  0.0  0.0   3608   464 ?        S    17:33   0:00  |       \_ sleep 60
root      4360  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4367  0.0  0.1   4992  1412 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4374  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4361  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4373  0.0  0.1   4988  1404 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4379  0.0  0.0   3608   464 ?        S    17:33   0:00  |       \_ sleep 60
root      4363  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4368  0.0  0.1   4988  1404 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4375  0.0  0.0   3608   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4365  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4369  0.0  0.1   4992  1408 ?        Ss   17:33   0:00  |   \_ /bin/sh /home/matsu/sleep.sh
matsu     4378  0.0  0.0   3612   468 ?        S    17:33   0:00  |       \_ sleep 60
root      4366  0.0  0.0   2528   880 ?        S    17:33   0:00  \_ /USR/SBIN/CRON
matsu     4380  0.0  0.1   4988  1408 ?        Ss   17:33   0:00      \_ /bin/sh /home/matsu/sleep.sh
matsu     4383  0.0  0.0   3608   464 ?        S    17:33   0:00          \_ sleep 60

コメント