如何在 WSL 上重复 运行 特定时间的程序?
How can I run a program at a specific time repetitively on WSL?
我正在尝试每 24 小时 运行 两个程序。一个 (program1) 应该从 00:00 开始,另一个 (program2) 应该从 23:59 开始。我尝试使用 crontab 如下:
00 00 * * * /home/user/DESKTOP/program1
59 23 * * * /home/user/DESKTOP/program2
两个程序都已编译并保存在服务器上的同一目录中。我什至尝试 运行 一个基本的 hello world c 程序,但它仍然不起作用。我发现的大多数示例都使用 bash 脚本,如果我应该创建 bash 文件而不是 运行 可执行文件,我不会这样做。
首先我会尝试一个非常简单的测试,比你试过的更简单。
运行 crontab -e
然后在列表底部输入 * * * * * touch ~/crontab.touched
.
这将每分钟访问您主目录中的一个文件,只需转到用户目录 cd ~
然后 ls -al
即可查看此文件的时间戳,它应该始终是最新的。
这个测试会告诉你这个任务实际上是 运行ning。
您还可以 运行 crontab -l
列出所有 运行ning cron 任务。
我正在 运行宁 WSL 1,我不需要更改任何 files/folders/user 组的任何权限来制作这个 运行.
一旦你有了简单的案例 运行ning 我就会在一个小的时间段内查看 运行ning 你的程序进行测试,比如每 5 分钟左右 */5 * * * * /home/user/DESKTOP/program1
我的最后一个问题是关于 program1 的路径,它看起来不正确。在 WSL 中,转到包含您要 运行 的程序的目录并键入 pwd
这将显示您需要在 crontab 表达式中使用的目录。基本上,如果你可以 运行 在主目录 cd ~
中的程序,那么它应该 运行 在 cron.
告诉我你过得怎么样。
我正在尝试每 24 小时 运行 两个程序。一个 (program1) 应该从 00:00 开始,另一个 (program2) 应该从 23:59 开始。我尝试使用 crontab 如下:
00 00 * * * /home/user/DESKTOP/program1
59 23 * * * /home/user/DESKTOP/program2
两个程序都已编译并保存在服务器上的同一目录中。我什至尝试 运行 一个基本的 hello world c 程序,但它仍然不起作用。我发现的大多数示例都使用 bash 脚本,如果我应该创建 bash 文件而不是 运行 可执行文件,我不会这样做。
首先我会尝试一个非常简单的测试,比你试过的更简单。
运行 crontab -e
然后在列表底部输入 * * * * * touch ~/crontab.touched
.
这将每分钟访问您主目录中的一个文件,只需转到用户目录 cd ~
然后 ls -al
即可查看此文件的时间戳,它应该始终是最新的。
这个测试会告诉你这个任务实际上是 运行ning。
您还可以 运行 crontab -l
列出所有 运行ning cron 任务。
我正在 运行宁 WSL 1,我不需要更改任何 files/folders/user 组的任何权限来制作这个 运行.
一旦你有了简单的案例 运行ning 我就会在一个小的时间段内查看 运行ning 你的程序进行测试,比如每 5 分钟左右 */5 * * * * /home/user/DESKTOP/program1
我的最后一个问题是关于 program1 的路径,它看起来不正确。在 WSL 中,转到包含您要 运行 的程序的目录并键入 pwd
这将显示您需要在 crontab 表达式中使用的目录。基本上,如果你可以 运行 在主目录 cd ~
中的程序,那么它应该 运行 在 cron.
告诉我你过得怎么样。