안녕 모두,
다른 폴더를 호출하는 .jsl 파일로 JMP의 여러 인스턴스를 만들 때 exit () 코드 이후에도 JMP가 백그라운드에서 실행되고 있습니다. Windows 10을 사용하고 있습니다.
같은 JMP 파일에 다시 실행하면 정상적으로 작동합니다.
그것은 Windows 10 문제 때문에 또는 JMP가 한 번에 100 개 이상의 인스턴스를 처리 할 수 없기 때문입니까?
감사.
내가 올바르게 이해한다면 100 개 이상의 JMP 인스턴스가 동시에 실행됩니다. 나는 그들이 약간의 리소스 (아마도 메모리, 파일 핸들 또는 ...)를 사용하고 있으며 JMP 또는 Windows가 오류로부터 복구하는 데 어려움을 겪고 있다고 의심합니다.
같은 시간에 실행되는 숫자를 제한하기 위해 JMP 인스턴스를 시작하는 코드를 수정하는 것이 좋습니다. 나는 최적의 숫자가 속도에 어떤 영향을 미치는지는 모르겠지만 전형적인 데스크탑에서는 16 이하라고 생각한다.
.jrn, .png 및 .txt 파일을 특정 폴더에 플롯하고 completed.txt 파일을 표시하고 종료합니다.
프로세스 해커 창에서 JMP는 수동으로 닫아야하는 몇 가지 인스턴스에 대해 여전히 열려 있습니다.
다시 실행하면 인스턴스 수가 적을 때 제대로 작동하고 JMP가 멈추지 않습니다.
그래서 여러 인스턴스를 실행할 때 wait ()를 사용하면 실제로 도움이 될지 궁금해하는 이유가 무엇입니까? 그렇다면 언제 어디에서 wait ()를 사용해야합니까? Windows 10에서 JMP와 다른 프로그램의 상호 작용에 대한 알려진 문제점은 무엇입니까?
응용 프로그램 : jmp.exe
프레임 워크 버전 : v4.0.30319
설명 : 응용 프로그램이 System.Environment.FailFast (문자열 메시지)를 통해 프로세스 종료를 요청했습니다.
메시지 : 복구 할 수없는 시스템 오류입니다.
스택:
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, Boolean)
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, Boolean)
WinHost.TipView.showCurrentTip ()에서
WinHost.TipView..ctor ()에서
at .WinHost.newTipView ()
WinHost.WpfApp.processPendingIdleRequests ()에서
WinHost.WpfApp.doIdleTimeProcessing ()에서
System.RuntimeMethodHandle.InvokeMethod (System.Object, System.Object [], System.Signature, Boolean)
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, System.Threading.ContextCallback, System.Object, Boolean)
System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
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 ()에서
당신의 JSL은 무엇을합니까? exit 함수가 호출되었지만 JMP 인스턴스가 아직 실행 중임을 어떻게 알 수 있습니까? 로그 창에 아무것도 있습니까?
JMP는 메모리 기반입니다. 동시에 100 개의 인스턴스가 있다면 100x (인스턴스 RAM 당)가 필요합니다. 데이터에 따라 64 비트 시스템에서 최소 12GB가됩니다. 발자국은 OS마다 다를 수 있으므로 Windows 10에서 더 많이 사용하고있을 가능성이 있습니까? 얼마나 많은 기억이 있니? 어떤 버전의 Windows 10을 사용하고 있습니까?
감사,
브라이언 코코 란
JMP 개발