问题描述
我使用cron使用以下代码创建了CronJobs,但是找不到它们来销毁它们。在Debian BullsEye上,我检查了/etc/crontab、/etc/cron.d、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly,并且没有任何内容。
此过程在www-data下运行
new cronjob('* ' + sMarr[i] + ' ' + sHarr[i] + ' * * *',function(x) {
shell.exec('ffmpeg -hide_banner -loglevel warning -i '+iUarr[x]+' -c:a aac -t 00:'+dMarr[x]+':'+dSarr[x]+' -f hls /mnt/streamlinks/'+outputName+'.m3u8&',{async:true});
}.bind(null,i),null,true,'Europe/London').start();
console.log("made cron job");
}catch{
console.log("Error creating cronjob");
}
谢谢。
解决方法
这些cron作业是在内存中创建的,而不是在系统级别创建的。这样,该模块就可以在不同的操作系统(例如Windows)上运行。
创建作业时,您可以保留该作业的引用,然后随时使用job.stop()停止该作业。
const CronJob = require('cron').CronJob;
const job = new CronJob('* * * * * *',function() {
console.log('Sample cron job...');
},null,false);
// Start the cron job...
job.start();
setTimeout(() => {
console.log("Stopping cron job..");
// Kill the cron job
job.stop();
},10000)