Exit() 可能会使 JMP 在后台运行 100 多个 JMP 实例大家好,
当我将多个 JMP 实例创建为调用不同文件夹的 .jsl 文件时,有时 JMP 甚至在 exit() 代码之后仍在后台运行。 我正在使用 Windows 10。
如果我在同样卡在 JMP 文件上的地方重新运行它,它可以正常工作并退出。
是因为 Windows 10 问题还是因为 JMP 无法一次处理 100 个或更多实例?
谢谢。
回复:Windows 7 与 Windows 10我觉得我的问题类似于这个线程。 它说问题已在 JMP 10 中得到修复。 我正在使用 JMP 13。 让我知道你的想法。
https://community.jmp.com/t5/Discussions/JSL-in-bat-file-in-windows-scheduler/td-p/5947回复:Windows 7 与 Windows 10谢谢克雷奇的解释。
你能解释一下 wait() 的概念以及何时何地使用吗? 它有什么好处?回复:Windows 7 与 Windows 10如果我理解正确的话,您有 100 多个 JMP 实例同时运行。 我怀疑它们正在耗尽一些资源(可能是内存,或文件句柄,或...)并且 JMP 或 Windows 很难从错误中恢复。
我建议修改启动 JMP 实例的代码以限制同时运行的数量。 我不知道速度的最佳数字是多少,但我猜在典型的桌面上低于 16。
回复:Windows 7 与 Windows 10它在特定文件夹中绘制一堆 .jrn、.png 和 .txt 文件,并显示一个 completed.txt 文件并退出。
在 process hacker 窗口中,JMP 仍然打开了几个实例,我不得不手动关闭它。
如果我再次运行它,当实例数量较少时,它工作正常并且我没有看到任何 JMP 卡住。
这就是为什么我想知道当您运行多个实例时,使用 wait() 是否真的有帮助? 如果是这样,我应该在何时何地使用 wait()? Windows 10 中其他程序与 JMP 交互的任何已知问题?
应用程序:jmp.exe
框架版本:v4.0.30319
说明:应用程序通过 System.Environment.FailFast(string message) 请求进程终止。
消息:不可恢复的系统错误。
堆:
在 System.Environment.FailFast(System.String)
在 System.Windows.Controls.WebBrowser.TabIntoCore(System.Windows.Input.TraversalRequest)
在 System.Windows.Controls.WebBrowser.OnLoadCompleted(System.Windows.Navigation.NavigationEventArgs)
在 MS.Internal.Controls.WebBrowserEvent.DocumentComplete(System.Object,System.Object ByRef)
在 System.RuntimeMethodHandle.InvokeMethod(System.Object、System.Object[]、System.Signature、布尔值)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
在 System.Reflection.RuntimeMethodInfo.Invoke(System.Object、System.Reflection.BindingFlags、System.Reflection.Binder、System.Object[]、System.Globalization.CultureInfo)
在 MS.Win32.UnsafeNativeMethods+IWebBrowser2.Navigate2(System.Object ByRef、System.Object ByRef、System.Object ByRef、System.Object ByRef、System.Object ByRef)
在 MS.Win32.UnsafeNativeMethods+IWebBrowser2.Navigate2(System.Object ByRef、System.Object ByRef、System.Object ByRef、System.Object ByRef、System.Object ByRef)
在 System.Windows.Controls.WebBrowser.DoNavigate(System.Uri、System.Object ByRef、System.Object ByRef、System.Object ByRef、布尔值)
在 WinHost.TipView.showCurrentTip()
在 WinHost.TipView..ctor()
在 .WinHost.newTipView()
在 WinHost.WpfApp.processPendingIdleRequests()
在 WinHost.WpfApp.doIdleTimeProcessing()
在 System.RuntimeMethodHandle.InvokeMethod(System.Object、System.Object[]、System.Signature、布尔值)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
在 System.Delegate.DynamicInvokeImpl(System.Object[])
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object、System.Delegate、System.Object、Int32、System.Delegate)
在 System.Windows.Threading.DispatcherOperation.InvokeImpl()
在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object,布尔值)
在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext、System.Threading.ContextCallback、System.Object、布尔值)
在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)
在 MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext、System.Threading.ContextCallback、System.Object)
在 System.Windows.Threading.DispatcherOperation.Invoke()
在 System.Windows.Threading.Dispatcher.ProcessQueue()
在 System.Windows.Threading.Dispatcher.WndProcHook(IntPtr、Int32、IntPtr、IntPtr、Boolean ByRef)
在 MS.Win32.HwndWrapper.WndProc(IntPtr、Int32、IntPtr、IntPtr、Boolean ByRef)
在 MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object、System.Delegate、System.Object、Int32、System.Delegate)
在 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority、System.TimeSpan、System.Delegate、System.Object、Int32)
在 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr、Int32、IntPtr、IntPtr)
在 MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
在 MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
在 System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
在 System.Windows.Application.RunDispatcher(System.Object)
在 System.Windows.Application.RunInternal (System.Windows.Window)
在 WinHost.WpfApp.Run()
回复:Windows 7 与 Windows 10你的 JSL 是做什么的? 您如何知道调用了退出函数但 JMP 实例仍在运行? 日志窗口里有什么吗?
回复:Windows 7 与 Windows 10嗨布赖恩,
您认为 wait() 函数会有帮助吗? 何时何地使用该功能?
谢谢,回复:Windows 7 与 Windows 10感谢布赖恩的回复。 我有 40Gb RAM 和 Windows 10 Pro。
回复:Windows 7 与 Windows 10JMP 是基于内存的。如果同时启动 100 个实例,则需要 100x(每个实例 RAM)。根据数据,在 64 位系统上至少需要 12 GB。占用空间可能因操作系统而异,因此您可能在 Windows 10 上使用更多?你有多少内存?您使用的是哪个版本的 Windows 10?
谢谢,
布赖恩·科科伦
JMP开发