Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用守护程序或更好的解决方案运行.exe,以获得类似于windows服务(mac和linux)的内容?_Linux_Macos_Mono_Daemon - Fatal编程技术网

使用守护程序或更好的解决方案运行.exe,以获得类似于windows服务(mac和linux)的内容?

使用守护程序或更好的解决方案运行.exe,以获得类似于windows服务(mac和linux)的内容?,linux,macos,mono,daemon,Linux,Macos,Mono,Daemon,我想知道我是否可以在mac和linux中运行带有守护进程的exe,或者您是否有其他解决方案来执行类似于windows服务的调度程序?我知道我可以使用crontab,但我想知道是否有其他方法可以做到这一点 Thxwindows NT服务的Linux替代品是守护进程。你可以多读一点 您还可以通过位于“/etc/init.d”中的脚本启动可执行文件,只需查看其中一个脚本以供参考。如果要在给定时间启动任务或可执行文件,请使用crontab。它就是为了这个目的而做的,我不明白为什么要用别的东西 如果您有

我想知道我是否可以在mac和linux中运行带有守护进程的exe,或者您是否有其他解决方案来执行类似于windows服务的调度程序?我知道我可以使用crontab,但我想知道是否有其他方法可以做到这一点


Thx

windows NT服务的Linux替代品是守护进程。你可以多读一点

您还可以通过位于“/etc/init.d”中的脚本启动可执行文件,只需查看其中一个脚本以供参考。如果要在给定时间启动任务或可执行文件,请使用crontab。它就是为了这个目的而做的,我不明白为什么要用别的东西


如果您有一个mono可执行文件,如果您想在系统启动时启动或创建crontab条目,最简单的方法可能就是在“init.d”中创建一个脚本。这真的很容易。在这里,您可以找到windows NT服务的替代品。

Linux是守护进程。你可以多读一点

您还可以通过位于“/etc/init.d”中的脚本启动可执行文件,只需查看其中一个脚本以供参考。如果要在给定时间启动任务或可执行文件,请使用crontab。它就是为了这个目的而做的,我不明白为什么要用别的东西


如果您有一个mono可执行文件,如果您想在系统启动时启动或创建crontab条目,最简单的方法可能就是在“init.d”中创建一个脚本。这真的很容易。在这里,您可以在OSX上找到一个。

,这样做的首选方式是使用启动的守护进程。您可以创建一个.plist文件,其中包含有关要运行的程序、要传递它的参数以及在什么条件下启动它的信息(即,在特定时间,当某个端口上接收到网络连接时,或只是始终运行),以及各种其他选项。为创建.plist提供了一个方便的GUI,或者只需阅读并自己创建即可。将.plist放入/Library/LaunchDaemons,然后重新启动或使用
sudo launchctl load/Library/LaunchDaemons/whatever.plist激活它


关于使用launchd的一个警告:大多数unix守护程序类型的程序都会自己“守护”——它们会掉到后台,通常会从启动它们的程序中分离出来。Launchd不喜欢这样。它想监视它的孩子,这样它就可以监视他们的状态,必要时重新启动他们,等等。因此,您可能需要告诉程序不要进行守护,或者在.plist中添加一个选项,告诉launchd在程序退出时不要惊慌失措。

在OS X上,这样做的首选方法是使用已启动的守护进程。您可以创建一个.plist文件,其中包含有关要运行的程序、要传递它的参数以及在什么条件下启动它的信息(即,在特定时间,当某个端口上接收到网络连接时,或只是始终运行),以及各种其他选项。为创建.plist提供了一个方便的GUI,或者只需阅读并自己创建即可。将.plist放入/Library/LaunchDaemons,然后重新启动或使用
sudo launchctl load/Library/LaunchDaemons/whatever.plist激活它


关于使用launchd的一个警告:大多数unix守护程序类型的程序都会自己“守护”——它们会掉到后台,通常会从启动它们的程序中分离出来。Launchd不喜欢这样。它想监视它的孩子,以便监视他们的状态,必要时重新启动他们,等等。因此,您可能需要告诉程序不要后台监控,或者在.plist中添加一个选项,告诉launchd在程序退出时不要惊慌失措。

David,你的意思是说你想在给定的时间实例调用一个命令?我想用schedulerDavid调用一个动作,你的意思是说你想在给定的时间实例调用一个命令?我想用schedulerDavid调用一个动作