【问题标题】:Run C# .exe with crontab or daemon?使用 crontab 或守护程序运行 C# .exe?
【发布时间】:2011-03-08 17:22:12
【问题描述】:

我想知道我是否可以使用 crontab 运行 dll (c#) ?该dll是用mono编译的。

谢谢 :)

-- 编辑--

它可以是一个 .exe。我在看 mac 和 linux 上的守护进程,你认为我可以将 .exe 作为守护进程运行吗?

【问题讨论】:

  • 我会编写一个使用 dll 的小型控制台应用程序,然后安排它通过 crontab 运行。
  • 有人对守护进程有好的想法吗?

标签: c# macos mono cron crontab


【解决方案1】:

为什么不编写一个以 DLL 路径和入口点方法为参数的基于单声道的 exe?然后,exe 将使用反射来加载 DLL 并执行指定的方法。 (您可以通过在 DLL 中指定诸如 DllMain 方法之类的东西来选择约定优于配置,exe 知道该方法会自动调用。然后只需要一个参数,并且代码的意图更加明显。)

实现这样的小程序将为您提供类似于 Windows 中的 RunDll 的实用程序,并允许您从 cron 运行单声道 DLL。

【讨论】:

    【解决方案2】:

    您可能想查看最新的单声道版本和 C# Shell(尽管我会亲自制作一个 exe,从 DLL 中调用您想要的函数)。

    http://www.mono-project.com/CsharpRepl

    "在启动时,csharp shell 将加载位于 ~/.config/csharp 目录中的任何 C# 脚本文件和预编译库(以 .dll 结尾)(在 Windows 上,这是 Environment.GetFolderPath ( Environment.SpecialFolder.ApplicationData))。

    首先加载程序集,然后执行脚本。这允许您的脚本依赖程序集中定义的代码。

    C# 脚本文件只是包含语句和表达式的文件,它们不能包含完整的类定义,它们应该存储和预编译在 DLL 文件中。 "

    然后您可以执行以下操作:

     csharp> using System;   
     csharp> Console.WriteLine ("hello");    
     hello   
     csharp>   
    

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2012-05-19
      • 2015-06-08
      • 2019-08-13
      • 2013-11-17
      • 2021-11-06
      • 1970-01-01
      • 2023-03-02
      • 1970-01-01
      相关资源
      最近更新 更多