gpt4 book ai didi

c# - 通过网站运行 ffmpeg

转载 作者:行者123 更新时间:2023-12-04 23:17:13 25 4
gpt4 key购买 nike

我有一个网站,它允许用户将图像下载为视频剪辑。

他们可以选择 mp4、avi、ogg 等。

我通过 C#/Asp.net 4.0 中的 Process Class 使用 ffmpeg 来执行转换工具。

我在测试中注意到,如果我强制中止这种转换,比如停止 IIS,结束任务管理器中的 wp3 进程),在这样做一段时间后,如果我再查看 Web 服务器上的任务管理器,就会有许多 FFMPEG 实例没有正确关闭。

我最理想的做法是杀死任何可能为该特定用户(而不是任何其他用户/ session )挥之不去的进程,然后启动转换工具。

是否可以管理/控制该用户/ session 的 FFMPEG 进程,或者我应该查看一次仅启用 1 个用户的排队系统应该能够使用此转换工具?

我希望我把这个声音说清楚了吗?

我可以发布显示 Process/ffmpeg 如何在 C# 中启动的代码,但我看不出这将如何帮助这个问题。

谢谢

最佳答案

希望这可以帮助:

private void killProcess(String processName, String processOwner)
{
foreach (var process in Process.GetProcessesByName(processName))
{
if(GetProcessOwner(processName).equals(processOwner))
{
process.Kill();
}
}
}
public string GetProcessOwner(string processName)
{
string query = "Select * from Win32_Process Where Name = \"" + processName + "\"";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection processList = searcher.Get();

foreach (ManagementObject obj in processList)
{
string[] argList = new string[] { string.Empty, string.Empty };
int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList));
if (returnVal == 0)
{
// return DOMAIN\user
string owner = argList[1] + "\\" + argList[0];
return owner;
}
}

return "NO OWNER";
}

关于c# - 通过网站运行 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20047825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com