linux命令mono关闭程序,使用c#和mono关闭linux

我正在

Windows和

Linux上使用c#/ soap和php开发跨平台项目.

这个想法是,当用户按下Web界面上的按钮时,它会发送一个soap请求,该请求将关闭服务器.

这在Windows上正常工作但在Linux上工作不正常,我没有看到任何原因,因为当我在服务器上手动运行shutdown命令时它工作正常.

下面是我正在使用的代码

public bool shutdownServer()

{

Process process = new Process();

if (CommonTasks.getOperatingSystem() == CommonTasks.OperatingSystemType.Windows)

{

process.StartInfo.FileName = "shutdown";

process.StartInfo.Arguments = "-s -t 0";

}

else if (CommonTasks.getOperatingSystem() == CommonTasks.OperatingSystemType.Linux)

{

process.StartInfo.FileName = "shutdown";

process.StartInfo.Arguments = "-h now";

}

else

{

return false;

}

library.logging(classDetails + MethodInfo.GetCurrentMethod().Name, string.Format("Shutting down with the following {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments));

process.Start();

return true;

}

我看不出任何理由为什么linux部分不会执行关机但Windows版本工作正常.我究竟做错了什么.

为了清楚我试图关闭整个服务器,而不是应用程序.

感谢您的任何帮助,您可以提供

*更新*

谢谢你的建议,我想我已经到了某个地方.我发现mono使用janis方法在wwwrun下运行.

我已经使用wwwrun:x:0将wwwrun:www group添加到/ etc / groups,我不确定这是否正确,我不知道:x:0是为了什么.

我已将%wheel ALL =(ALL)NOPASSWD:/ sbin / shutdown添加到sudoers文件并重新启动apache.

当我运行soap服务来执行关闭时,我在/ var / log / messages中收到以下错误

Aug 3 23:28:01 dev-server sudo: pam_unix2(sudo:auth): conversation

failed

Aug 3 23:20:27 dev-server sudo: wwwrun : pam_authenticate:

Conversation error ; TTY=unknown ; PWD=/ ; USER=root ;

COMMAND=/sbin/shutdown -h now

我现在不知道从哪里开始,对不起,如果我问一些菜鸟问题,我对soap / linux / mono来说相当新.

更新2

刚刚发现了其他东西,只有当浏览器在正在关闭的本地PC上运行时,它才能在Windows上运行.我已经尝试重定向命令的输出,看它是否返回错误,什么也没有,所以我无法找出它失败的原因.

更新3

我刚刚发现了其他东西,我有两个Windows PC,笔记本电脑和台式机都是Windows 7 x64,从桌面浏览器我可以做肥皂请求关闭笔记本电脑,反之亦然,但是,我遇到的问题是Windows Server和Linux,即使是Windows服务器浏览器本地也不会让我通过soap请求关闭自己.有没有办法让我这样做,所以Windows服务器将允许我通过soap请求,本地和远程浏览器进行关机,如何解决Linux的问题.

更新4

刚刚解决了Windows问题,我需要以管理员身份添加IIS用户帐户以允许它执行关机,因此它只是Linux我现在遇到问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值