Multiple processes under linux

If I run Java programs under Suse Linux 9.0 using JDK 1.5.0_09 for every started Java programm I can see 9 processes running under linux.
It seems like one of them is the master and the others are child processes of this one.
I've never seen this with other Linux / Java versions before.
Could anyone tell me what's happening there?
Thanks xccarlsson

Earlier versions of linux threads were done by mapping each thread onto it's own process and each of these processes shared their address space with an original process, the one you describe as the master. The newer thread model is more like what you'd expect with one process and multiple contexts within the process. So you must be running on system which is using the old threading model.
tom

Similar Messages

  • Problem of executing a process under Linux using Runtime.exec

    Hi, All
    I am having a problem of executing a process under Linux and looking for help.
    I have a simple C program, which just opens a listening port, accept connection request and receive data. What I did is:
    1. I create a script to start this C program
    2. I write a simple java application using Runtime.exec to execute this script
    I can see this C program is started, and it is doing what it supposed to do, opening a listening port, accepting connection request from client and receiving data from client. But if I stop the Java application, then this C program will die when any incoming data or connection request happens. There is nothing wrong with the C program and the script, because if I manually execute this script, everying works fine.
    I am using jre1.4.2_07 and running under Linux fedora 3.0.
    Then I tried similar thing under Windows XP with service pack2, evrything works OK, the C program doesn't die at all.

    Mind reading is not an exact science but I bet that you are not processing either the process stdout or the stderr stream properly. Have you read http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html ?

  • Multiple processes in linux

    i have a doubt. i have made a java program and when i execute it, it create several preocesses (about 10) in linux; why this is happening?
    i thought that the os was creating a single process to every class of my app, but i just use six classes!
    ah, and i need another tip: how to make a application run like a daemon on linux?
    thanx in advance

    okay, but when i use px ax i get all the processess woth the same command line...
    an another thing, every class, when instantiated, generates a thread by the jvm?
    i am certeaIN thayt i ^dont use nine threads (at least in the beginning of the execution of my app), so i dont know why it is showing me a lot of processess

  • ARIAL FONT IN REPORTS(WINDOWS), NOT SHOWN CORRECTLY UNDER LINUX

    Our Reports are developed under Windows (Report Builder 9.0.4.0.33 and Windows 2000/Windows XP) and generated under Linux (IAS 10.1.2.0.2 with Red Hat Advanced Server). The Report Output is a PDF, that will be downloaded by the user with WEB.SHOW_DOCUMENT. This works fine, but fonts are not shown correctly in the PDF, especially ARIAL, which is the font we use.
    I have run the Fontsolution Configuration Script from Metalink, but we still have a problem.
    When you look at the font.pdf, wich is the testreport from fontsolutions, some sizes and styles of Arial are printed correctly others not.
    Arial 8 is ok, but Arial 10 and Arial 12 are something like Times New Roman.
    Arial 12 Bolded is correct, but Arial 12 italic and Arial 12 bold italic are also not
    the Arial Font.
    How can we correct this problem?
    Regards
    Udo
    These are the files changed by Fontsolution Configuration Script:
    uifont.ali
    # uifont.ali provided in fontsolutions.tar for developer 9.0.2
    # $Header: uifont.ali@@/main/22 \
    # Checked in on Tue Jan 8 15:32:42 PST 2002 by idc \
    # Copyright (c) 1999, 2002 by Oracle Corporation. All Rights Reserved. \
    # $
    # $Revision: /main/22 $
    # Copyright (c) Oracle Corporation 1994, 2002.
    # All Rights Reserved.
    # DESCRIPTION:
    # Each line is of the form:
    # <Face>.<Size>.<Style>.<Weight>.<Width>.<CharSet> = \
    # <Face>.<Size>.<Style>.<Weight>.<Width>.<CharSet>
    # The <Face> must be the name (string/identifier) of a font face. The
    # <Style>, <Weight>, <Width>, and <CharSet> may either be a numeric
    # value or a predefined identifier/string. For example, both US7ASCII
    # and 1 are valid <CharSet> values, and refer to the same character set.
    # The <Size> dimension must be an explicit size, in points.
    # The following is a list of recognized names and their numeric
    # equivalents:
    # Styles Numeric value
    # Plain 0
    # Italic 1
    # Oblique 2
    # Underline 4
    # Outline 8
    # Shadow 16
    # Inverted 32
    # Overstrike 64
    # Blink 128
    # Weights Numeric value
    # Ultralight 1
    # Extralight 2
    # Light 3
    # Demilight 4
    # Medium 5
    # Demibold 6
    # Bold 7
    # Extrabold 8
    # Ultrabold 9
    # Widths Numeric value
    # Ultradense 1
    # Extradense 2
    # Dense 3
    # Semidense 4
    # Normal 5
    # Semiexpand 6
    # Expand 7
    # Extraexpand 8
    # Ultraexpand 9
    # Styles may be combined; you can use plus ("+") to delimit parts of a
    # style. For example,
    # Arial..Italic+Overstrike = Helvetica.12.Italic.Bold
    # are equivalent, and either one will map any Arial that has both Italic
    # and Overstrike styles to a 12-point, bold, italic Helvetica font.
    # All strings are case-insensitive in mapping. Font faces are likely to
    # be case-sensitive on lookup, depending on the platform and surface, so
    # care should be taken with names used on the right-hand side; but they
    # will be mapped case-insensitively.
    # See your platform documentation for a list of all supported character
    # sets, and available fonts.
    # BUGS:
    # o Should accept a RHS ratio (e.g., "Helv = Arial.2/3").
    #===============================================================
    [ Global ] # Put mappings for all surfaces here.
    # Mapping from MS Windows
    #Arial = helvetica
    #"Courier New" = courier
    #"Times New Roman" = times
    #Modern = helvetica
    #"MS Sans Serif" = helvetica
    #"MS Serif" = times
    #"Small Fonts" = helvetica
    "Sadvocra" = helvetica..Oblique.Medium
    "sAdC128d" = helvetica..Plain.Medium
    "CarolinaBar-B39-25F2" = helvetica...Bold
    #"IDAutomationSMICR" = helvetica
    # Mapping from Macintosh
    #"New Century Schlbk" = "new century schoolbook"
    #"New York" = times
    #geneva = helvetica
    #===============================================================
    [ Printer ] # Put mappings for all printers here.
    #===============================================================
    [ Printer:PostScript1 ] # Put mappings for PostScript level 1 printers here.
    # Sample Kanji font mappings
    ...UltraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...UltraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...ExtraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...ExtraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...Light..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...Light..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...DemiLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...DemiLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    .....JEUC = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
    .....SJIS = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..SJIS
    # Mapping from MS Windows
    #Roman = palatino
    #Script = "itc zapf chancery"
    #FixedSys = courier
    #System = helvetica
    # Mapping from Macintosh
    #"Avant Garde" = "itc avant garde gothic"
    # Mapping from Motif display
    #fixed = courier
    #clean = times
    #lucidatypewriter = courier
    #lucidabright = times
    #Arial = helvetica
    #"Courier New" = courier
    #"Times New Roman" = times
    # MICR font
    #helvetica=IDAutomationSMICR
    #===============================================================
    [ Printer:PostScript2 ] # Put mappings for PostScript level 2 printers here.
    # Sample Kanji font mappings
    ...UltraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...UltraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...ExtraLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...ExtraLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...Light..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...Light..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    ...DemiLight..JEUC = "Ryumin-Light-83pv-RKSJ-H"...Light..JEUC
    ...DemiLight..SJIS = "Ryumin-Light-83pv-RKSJ-H"...Light..SJIS
    .....JEUC = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..JEUC
    .....SJIS = "GothicBBB-Medium-83pv-RKSJ-H"...Medium..SJIS
    # Mapping from MS Windows
    #Roman = palatino
    #Script = "itc zapf chancery"
    #FixedSys = courier
    #System = helvetica
    # Mapping from Macintosh
    #"Avant Garde" = "itc avant garde gothic"
    # Mapping from Motif display
    #fixed = courier
    #clean = times
    #lucidatypewriter = courier
    #lucidabright = times
    #===============================================================
    [ Printer:PCL5 ] # Put mappings for PCL 5 printers here.
    helvetica = univers
    times = "cg times"
    clean = "antique olv"
    fixed = courier
    lucida = univers
    lucidabright = "cg times"
    lucidatypewriter = courier
    "new century schoolbook" = univers
    terminal = "line printer"
    #===============================================================
    [ Display ] # Put mappings for all display surfaces here.
    #===============================================================
    [ Display:Motif ] # Put mappings for Motif displays here
    # Fix for bug no 778937 DO NOT MOVE!
    Roman.....sjis = lucida.....jeuc
    Script.....sjis = lucidabright.....jeuc
    FixedSys.....sjis = fixed.....jeuc
    System.....sjis = lucida.....jeuc
    .....sjis = .....jeuc
    # Mapping from MS Windows
    Roman = lucida
    Script = lucidabright
    FixedSys = fixed
    System = lucida
    # Mapping from Macintosh
    "Avant Garde" = helvetica
    "Bookman" = times
    #===============================================================
    [ Display:CM ] # Put mappings for all CM displays here.
    # These are DEC-specific, and may need localization
    *..Blink = Blinking
    *..Inverted+Underline.Bold = ReverseBoldUnderline
    *..Inverted+Underline. = UnderlineReverse
    *..Underline.Bold = UnderlineBold
    *..Inverted.Bold = ReverseBold
    *...Bold = Bold
    *..Underline = Underline
    *..Inverted = Reverse
    * = Plain # The font of last resort
    # Oracle Report PDF sections
    # Three new sections have been added:
    # [ PDF ] - Used for font aliasing and Multibyte language support
    # [ PDF:Embed ] - Used for Type 1 font embedding
    # [ PDF:Subset ] - Used for True Type Font subsetting
    [ PDF ]
    # This example shows how to rename helvetica font to Courier font
    # helvetica = Courier
    # You can Alias specific styles of font as below
    # helvetica.12..Bold.. = Courier.14....
    # "Lucida Bright".12..Bold = "New Century Schoolbook"
    # Support for Far Eastern Languages:
    # PDF section can be additionally used to enable Multibyte language support
    # built into Reports. To use this feature with Adobe (r) Acrobat (c), you
    # need to install the Asian font pack available online at the Adobe web site.
    # .....SJIS = "HeiseiKakuGo-W5-Acro"
    # A Japanese report run with Shift-JIS character set is replaced to
    # HeiseiKakuGo-W5-Acro CID font.
    arial = Arial
    "arial" =Arial
    "arial narrow" = "Arial Narrow"
    "courier new" = "Courier New"
    tahoma = Tahoma
    "microsoft sans serif" = "Microsoft Sans Serif"
    "ms sans serif" = "MS Sans Serif"
    "times new roman" = "Times New Roman"
    [ PDF:Embed ]
    # This example shows how to embed Type 1 helvetica font into the PDF file:
    # helvetica = "helvetica.afm helvetica.pfa"
    # You need to specify the .afm file before the .pfa file.
    # The font files must exist in one of the folders specified in REPORTS_PATH.
    [ PDF:Subset ]
    # This example shows how to subset Arial True Type font into the PDF file:
    # helvetica = "Arial.ttf"
    # The True Type font files must exist in any one of the folders specified in
    # REPORTS_PATH.
    helvetica..Oblique.Medium = "Sadvocra.ttf"
    helvetica..Plain.Medium = "Sadc128d.ttf"
    helvetica...Bold = "CarolinaBar-B39-25F2-Normal.ttf"
    # NOTES ON PRECEDENCE OF PDF SECTIONS:
    # If you have entries for a same font in many PDF sections, then Font
    # Aliasing entry will take precedence over Font Embedding entry. Entries
    # in Font Embedding will take precedence over the entries in Font Subsetting
    # section.
    # Generic entries for a font must follow more specific entries for the same
    # font. For instance, if you want to subset helvetica Plain, helvetica Bold,
    # helvetica Italic and helvetica Bold-Italic fonts, your entries must be:
    # [ PDF:Subset ]
    # helvetica..Italic.Bold.. = "Arialbi.ttf"
    # helvetica...Bold.. = "Arialb.ttf"
    # helvetica..Italic... = "Ariali.ttf"
    # helvetica..... = "Arial.ttf"
    # If helvetica..... entry appears in the top of the list, all the styles of
    # helvetica font in the layout will be subset as helvetica Plain font.
    uiprint.txt
    # This is the printer configuration file.
    # The format for entries in this file is:
    # <OSName>:<Type>:<Version>:<Long Name>:<Description File>:
    # The first field is the name of the printer. It is the name you give
    # to lpq.
    # The second field is the type of driver to be used for the printer.
    # Currently, "PostScript" and "ASCII" are the only types of driver for
    # printers supported for now. But in future we may be supporting
    # drivers for other printer types.
    # The third field is the version of the type of printer driver. It's 1
    # or 2 for all PostScript printers; or 1 for ASCII printers.
    # The fourth field is a long description of the printer. This will be
    # presented to the user in the "Choose Printer" dialog window.
    # The fifth field is the printer description file to be used. For
    # PostScript printers it is the PPD file of the printer. (This field is
    # currently unused for ASCII printers.)
    # You can use default.ppd for the description file if you don't have a
    # PPD file for the printer, but it's best to use the correct PPD file
    # for the printer.
    # You must fill in at least the first two fields (printer name and
    # type). If the version is empty, it defaults to "1"; if the long name
    # or description are empty, they will default to empty strings. A
    # version of 1 or an empty long name is fine, but, for PostScript
    # printers, you must fill in the description file name.
    # You don't have to update this file to use any printer. The printer
    # chooser interface let's you select a printer and driver at run time,
    # as well as associate a printer description file to the printer. You
    # should list all printers accessible to users here, however, to
    # simplify selecting a printer.
    # The first entry in this file will be used as the default printer, if
    # no printer was selected in the operating system. (For Unix, the
    # following environment variables will be used in turn to get the
    # default printer's name:
    # TK2_PRINTER
    # ORACLE_PRINTER
    # PRINTER
    # For other platforms, see the Installation and User's Guide for your OS
    # for information on setting the default printer.)
    # WARNING: Do not define multiple entries for the same printer by the
    # same name. Selecting a printer with multiple entries will always result
    # in the first entry being selected. Instead, see if your OS allows you
    # to create an alias for the printer, and use an alias for the second type.
    # The following are examples; replace them with printers accessible from
    # this machine.
    # hqunx15:PostScript:1:The really slow printer on 12th floor:dcln03r1.ppd:
    # hqdev2_pos:PostScript:1:The fast ScriptPrinter in 1281:dclps321.ppd:
    # hqunx106:ASCII:1:LNO printer in the 11th floor printer room:none:
    # hqdev9:PostScript:1:Bogus printer for Reports ASCII QA:default.ppd:
    # hqunx121:PostScript:1:APO printer in 500OP for NLS QA:ok800lt1.ppd:
    # --- Note that the following two printers are aliases for the same
    # --- physical printer, with different names for different types:
    # tk2hp4m:PCL:5:HP printer in 771 for testing PCL:ui4.hpd:
    # tk2bw1ps:PostScript:1:HP printer in 771 for testing PS:hp4mp6_1.ppd:
    # Not A Printer:ASCII:1:Configure your uiprint.txt file:none:
    fontprinter:PostScript:1:printer for fonting fixes:default.ppd:
    datap462.ppd
    *PPD-Adobe: "4.0"
    *% Adobe Systems PostScript(R) Printer Description File
    *% Copyright 1987-1992 Adobe Systems Incorporated.
    *% All Rights Reserved.
    *% Permission is granted for redistribution of this file as
    *% long as this copyright notice is intact and the contents
    *% of the file is not altered in any way from its original form.
    *% End of Copyright statement
    *FormatVersion: "4.0"
    *FileVersion: "3.1"
    *PCFileName: "DATAP462.PPD"
    *LanguageVersion: English
    *Product: "(Dataproducts LZR 2665)"
    *PSVersion: "(46.2) 1"
    *ModelName: "Dataproducts LZR-2665"
    *NickName: "Dataproducts LZR-2665 v46.2"
    *% ==== Options and Constraints =====
    *OpenGroup: InstallableOptions/Options Installed
    OpenUI Option1/Optional Lower Tray: Boolean
    *DefaultOption1: False
    *Option1 True/Installed: ""
    *Option1 False/Not Installed: ""
    CloseUI: Option1
    *CloseGroup: InstallableOptions
    UIConstraints: Option1 False *InputSlot Lower
    *% General Information and Defaults ===============
    *ColorDevice: False
    *DefaultColorSpace: Gray
    *FreeVM: "178744"
    *LanguageLevel: "1"
    *VariablePaperSize: False
    *FileSystem: False
    *Throughput: "26"
    *Password: "0"
    *ExitServer: "
    count 0 eq {  % is the password on the stack?
    true
    dup % potential password
    statusdict /checkpassword get exec not
    } ifelse
    {  %  if no password or not valid
    (WARNING : Cannot perform the exitserver command.) =
    (Password supplied is not valid.) =
    (Please contact the author of this software.) = flush
    quit
    } if
    serverdict /exitserver get exec
    *End
    *Reset: "
    count 0 eq {  % is the password on the stack?
    true
    dup % potential password
    statusdict /checkpassword get exec not
    } ifelse
    {  %  if no password or not valid
    (WARNING : Cannot reset printer.) =
    (Password supplied is not valid.) =
    (Please contact the author of this software.) = flush
    quit
    } if
    serverdict /exitserver get exec
    systemdict /quit get exec
    (WARNING : Printer Reset Failed.) = flush
    *End
    *DefaultResolution: 300dpi
    *?Resolution: "
    save
    initgraphics
    0 0 moveto currentpoint matrix defaultmatrix transform
    0 72 lineto currentpoint matrix defaultmatrix transform
    3 -1 roll sub dup mul
    3 1 roll exch sub dup mul
    add sqrt round cvi
    ( ) cvs print (dpi) = flush
    restore
    *End
    *% Halftone Information ===============
    *ScreenFreq: "50.0"
    *ScreenAngle: "54.0"
    *DefaultScreenProc: Dot
    *ScreenProc Dot: " {dup mul exch dup mul add sqrt 1 exch sub } "
    *ScreenProc Line: "{ pop }"
    *ScreenProc Ellipse: "
    { dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
    *End
    *DefaultTransfer: Null
    *Transfer Null: "{ }"
    *Transfer Null.Inverse: "{ 1 exch sub }"
    *% Paper Handling ===================
    *% Use these entries to set paper size most of the time, unless there is
    *% specific reason to use PageRegion.
    *OpenUI *PageSize: PickOne
    *OrderDependency: 30 AnySetup *PageSize
    *DefaultPageSize: Letter
    *PageSize Letter: "statusdict /lettertray get exec letterR"
    *PageSize Letter.Transverse: "statusdict /lettertray get exec letter"
    *PageSize Legal: "statusdict /legaltray get exec"
    *PageSize Ledger: "statusdict /ledgertray get exec"
    *PageSize Statement: "statusdict /statementtray get exec"
    *PageSize Tabloid: "statusdict /11x17tray get exec"
    *PageSize A3: "statusdict /a3tray get exec"
    *PageSize A4: "statusdict /a4tray get exec a4R"
    *PageSize A4.Transverse: "statusdict /a4tray get exec a4"
    *PageSize A5: "statusdict /a5tray get exec"
    *PageSize B4: "statusdict /b4tray get exec"
    *PageSize B5: "statusdict /b5tray get exec b5R"
    *PageSize B5.Transverse: "statusdict /b5tray get exec b5"
    *CloseUI: *PageSize
    *% These entries will set up the frame buffer. Usually used with manual feed.
    *OpenUI *PageRegion: PickOne
    *OrderDependency: 40 AnySetup *PageRegion
    *DefaultPageRegion: Letter
    *PageRegion Letter: "letterR"
    *PageRegion Letter.Transverse: "letter"
    *PageRegion Legal: "legal"
    *PageRegion Ledger: "ledger"
    *PageRegion Tabloid: "11x17"
    *PageRegion A3: "a3"
    *PageRegion A4: "a4R"
    *PageRegion A4.Transverse: "a4"
    *PageRegion A5: "a5"
    *PageRegion B4: "b4"
    *PageRegion B5: "b5R"
    *PageRegion B5.Transverse: "b5"
    *PageRegion Statement: "statement"
    *CloseUI: *PageRegion
    *% The following entries provide information about specific paper keywords.
    *DefaultImageableArea: Letter
    *ImageableArea Letter: "20 16 591 775 "
    *ImageableArea Letter.Transverse: "18 19 593 773 "
    *ImageableArea Legal: "18 19 593 990 "
    *ImageableArea Ledger: "18 16 1205 775 "
    *ImageableArea Tabloid: "16 19 775 1206 "
    *ImageableArea A3: "18 21 823 1170 "
    *ImageableArea A4: "18 18 576 823 "
    *ImageableArea A4.Transverse: "18 19 577 823 "
    *ImageableArea A5: "18 19 401 577 "
    *ImageableArea B4: "19 15 709 1017 "
    *ImageableArea B5: "20 19 495 709 "
    *ImageableArea B5.Transverse: "20 19 495 709 "
    *ImageableArea Statement: "22 19 374 594 "
    *?ImageableArea: "
    save
    /cvp {(                ) cvs print ( ) print } bind def
    /upperright {10000 mul floor 10000 div} bind def
    /lowerleft {10000 mul ceiling 10000 div} bind def
    newpath clippath pathbbox
    4 -2 roll exch 2 {lowerleft cvp} repeat
    exch 2 {upperright cvp} repeat flush
    restore
    *End
    *% These provide the physical dimensions of the paper (by keyword)
    *DefaultPaperDimension: Letter
    *PaperDimension Letter: "612 792"
    *PaperDimension Letter.Transverse: "612 792"
    *PaperDimension Legal: "612 1008"
    *PaperDimension Ledger: "1224 792"
    *PaperDimension Tabloid: "792 1224"
    *PaperDimension A3: "842 1191"
    *PaperDimension A4: "595 842"
    *PaperDimension A4.Transverse: "595 842"
    *PaperDimension A5: "420 595"
    *PaperDimension B4: "729 1032"
    *PaperDimension B5: "516 729"
    *PaperDimension B5.Transverse: "516 729"
    *PaperDimension Statement: "396 612"
    *RequiresPageRegion All: True
    *OpenUI *InputSlot: PickOne
    *OrderDependency: 20 AnySetup *InputSlot
    *DefaultInputSlot: Upper
    *InputSlot Upper: "0 statusdict /setpapertray get exec"
    *InputSlot Lower: "1 statusdict /setpapertray get exec"
    *?InputSlot: "
    save
    [ (Upper) (Lower) ] statusdict /papertray get exec
    (get exec) stopped ( pop pop (Unknown)} if = flush
    restore
    *End
    *CloseUI: *InputSlot
    *OpenUI *ManualFeed: Boolean
    *OrderDependency: 20 AnySetup *ManualFeed
    *DefaultManualFeed: False
    *ManualFeed True: "statusdict /manualfeed true put"
    *ManualFeed False: "statusdict /manualfeed false put"
    *?ManualFeed: "
    save
    statusdict /manualfeed get {(True)}{(False)}ifelse = flush
    restore
    *End
    *CloseUI: *ManualFeed
    *DefaultOutputOrder: Reverse
    *% Font Information =====================
    *% This datap462.ppd is provided by fontsolutions.tar
    *DefaultFont: Courier
    *Font ArialMT: Standard "(001.004)" Standard ROM
    *Font Arial-ItalicMT: Standard "(001.004)" Standard ROM
    *Font Arial-BoldMT: Standard "(001.004)" Standard ROM
    *Font Arial-BoldItalicMT: Standard "(001.004)" Standard ROM
    *Font ArialNarrow: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-Italic: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-Bold: Standard "(001.004)" Standard ROM
    *Font ArialNarrow-BoldItalic: Standard "(001.004)" Standard ROM
    *Font CourierNewMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-ItalicMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-BoldMT: Standard "(001.004)" Standard ROM
    *Font CourierNew-BoldItalicMT: Standard "(001.004)" Standard ROM
    *Font Courier: Standard "(001.004)" Standard ROM
    *Font Courier-Bold: Standard "(001.001)" Standard ROM
    *Font Courier-BoldOblique: Standard "(001.001)" Standard ROM
    *Font Courier-Oblique: Standard "(001.001)" Standard ROM
    *Font Helvetica: Standard "(001.001)" Standard ROM
    *Font Helvetica-Bold: Standard "(001.001)" Standard ROM
    *Font Helvetica-BoldOblique: Standard "(001.001)" Standard ROM
    *Font Helvetica-Oblique: Standard "(001.001)" Standard ROM
    *Font IDAutomationSMICR: Standard "(001.001)" Standard ROM
    *Font Symbol: Special "(001.001)" Special ROM
    *Font Tahoma: Standard "(001.001)" Standard ROM
    *Font Tahoma-Bold: Standard "(001.001)" Standard ROM
    *Font Times-Bold: Standard "(001.001)" Standard ROM
    *Font Times-BoldItalic: Standard "(001.001)" Standard ROM
    *Font Times-Italic: Standard "(001.001)" Standard ROM
    *Font Times-Roman: Standard "(001.001)" Standard ROM
    *Font TimesNewRomanMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-BoldMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-BoldItalicMT: Standard "(001.001)" Standard ROM
    *Font TimesNewRoman-ItalicMT: Standard "(001.001)" Standard ROM
    *?FontQuery: "
    save
    /str 100 string dup 0 (fonts/) putinterval def
    count 1 gt
    exch dup str 6 94 getinterval cvs
    (/) print print (:) print
    FontDirectory exch known
    {(Yes)}{(No)} ifelse =
    {exit} ifelse
    }bind loop
    (*) = flush
    restore
    *End
    *?FontList: "
    FontDirectory { pop == } bind forall flush
    (*) = flush
    *End
    *% Printer Messages (verbatim from printer):
    *Message: "%%[ exitserver: permanent state may be changed ]%%"
    *Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
    *Message: "\FontName\ not found, using Courier"
    *% Status (format: %%[ status: <one of these> ]%% )
    *Status: "idle"
    *Status: "busy"
    *Status: "waiting"
    *Status: "printing"
    *Status: "warming up"
    *Status: "PrinterError: BD check"
    *Status: "PrinterError: Paper jam"
    *Status: "PrinterError: Replace toner bag"
    *Status: "PrinterError: Warming up"
    *Status: "PrinterError: Timing error"
    *Status: "PrinterError: Fuser check"
    *Status: "PrinterError: Cover opened"
    *Status: "PrinterError: Toner empty"
    *Status: "PrinterError: Empty & reset output bin(s)"
    *Status: "PrinterError: Sorter or jogger error"
    *Status: "PrinterError: Scanner check"
    *% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
    *Source: "serial9"
    *Source: "serial25"
    *Source: "AppleTalk"
    *Source: "Centronics"
    *% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
    *PrinterError: "BD check"
    *PrinterError: "Paper jam"
    *PrinterError: "Replace toner bag"
    *PrinterError: "Warming up"
    *PrinterError: "Timing error"
    *PrinterError: "Fuser check"
    *PrinterError: "Cover opened"
    *PrinterError: "Toner empty"
    *PrinterError: "Empty & reset output bin(s)"
    *PrinterError: "Sorter or jogger error"
    *PrinterError: "Scanner check"
    *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
    *% Color Separation Information =====================
    *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
    *InkName: ProcessBlack/Process Black
    *InkName: CustomColor/Custom Color
    *InkName: ProcessCyan/Process Cyan
    *InkName: ProcessMagenta/Process Magenta
    *InkName: ProcessYellow/Process Yellow
    *% For 60 lpi / 300 dpi =====================================================
    *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
    *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
    *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
    *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
    *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
    *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
    *% For 53 lpi / 300 dpi =====================================================
    *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
    *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
    *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
    *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
    *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
    *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
    *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
    *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
    *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
    *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
    *% For "Dataproducts LZR 2665" version 46.2
    *% Produced by "GETapd.ps" version 2.0 edit 47
    *% Converted to meet 4.0 specification
    *% Last Edit Date: Sep 15 1992
    *% The byte count of this file should be exactly 011228 or 011572
    *% depending on the filesystem it resides in.
    *% end of PPD file for Dataproducts LZR 2665

    If you want to make platform independent use of fonts, you have to use the family, such as sans serif.
    Arial is owned by monotype (http://monotype.com/). You have to contact them if you wish to redistribute it with your application. They also might have a suitable version that renders nicely under linux.
    Pete

  • Java running under linux with crontab

    I'm having a problem:
    i want to run a java program under linux with crontab.
    my classes are in a directory and aren't in a package. i run em by invoking ./start which is a small script that i wrote. The script is in the same dir as the classes and invokes java by "java Main >>logjava.txt " but this doesn't seem to work all i get is an empty logfile
    i need to run the program every day at 0800 so i inserted the following in crontab:
    0 8 * 1-5 /var/"path"/start > logjava (where path is the path to the classes dir)
    if i run the cmdline from anywhere on the prompt i get the result i want. I think it's because the cron runs it from the root dir thus making java unable to find the classes
    Any suggestions would be welcome. or can some1 tell me how to make linux executables from the java (i usually use jsmooth for the windows exe)

    You can execute several commands in the process started by cron. You separate them using semicolons.
    Have you tried a cron entry like this:
    0 8 * 1-5 cd /var/"path";pwd;echo $PATH; ./start > logjavaOr, you may need to make sure the process started by cron gets the same environment as your interactive shells do, by explicitly loading your setup or .login scripts:
    0 8 * 1-5 . $HOME/.setup;cd /var/"path";pwd;echo $PATH; ./start > logjava

  • Failed to install enterprise manager under linux

    When I installed Oracle 10g(10.2.0.1) under linux, I got an error when running
    /ora01/db/oracle/product/10.2.0.1/bin/emca within oracle universal installer.
    The emConfig.log file shows such error:
    oracle.sysman.emcp.exception.EMConfigException: Invalid value null for parameter PORT
    at oracle.sysman.emcp.ParamsManager.checkParam(ParamsManager.java:2630)
    at oracle.sysman.emcp.EMDBPreConfig.checkConfigParams(EMDBPreConfig.java:1285)
    at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:1060)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:174)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
    at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:426)
    at java.lang.Thread.run(Thread.java:534)
    So I have to run emca after the oracle installation. I am new to this tool. I modified both tnsnames.ora and listener.ora file to set port to 1521. And then I run emca -config all db,
    but now I cannot pass "entering the password for SYS user" (I already set SYS user's password to oracle, and it works when using sqlplus.) .
    I am totally confused. What should I run emca to set up the enterprise manager's website? Now I can use localhost:5560/isqlplus and localhost:5560/isqlplus/dba.
    Many thanks!!

    I just run emca as oracle instead of root, then the password got passed, but I got new errors:
    Aug 30, 2007 5:59:59 PM oracle.sysman.emcp.EMConfig perform
    SEVERE: Failed to allocate port(s) in the specified range(s) for the following process(es): JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938] | [1830-1849]
    What should I do? Is running emca -config all db necessary to get enterprise manager installed?

  • Too many resources used under Linux

    I have tested sun jvm under linux red-dat 6.2
    and 7.1 (listed by Sun as official platform supported)
    The JVM I test was from 1.3.0 to the 1.4.1
    I have written a simple application server that
    runs java application starting a new JVM.
    When the java application runs (with the -server or
    -hotspot option) I see that 10 java process are
    istantiated. (10 JVM)
    This is a real problem because for 4 users that runs 4
    applications there are 40 JVM running
    (each one allocates about 20 Mb of memory)
    and the system became very slow.
    With the -classic option the situation is better: only 1 JVM
    for application is started, (the application is the same, I
    have change only the -server option with -classic)
    but JVM seems to be less stable: I have a lot of segmentation
    fault errors. (with core dump)
    With the new distribution of Sun JVM (1.4.1) the -classic option
    is no longer supported.
    Does anyone knows if is there a way to have only one JVM
    for application? (-classic does not works well)
    Is there others JVM for linux more stable instead of the Sun one?
    PS: I have tested the same code under win/2000 using JVM 1.3.1_03
    and the -classic option. All goes well (the same application):
    I haver only 1 thread for application without jvm runtime error.
    Now my doubt is: does Sun belive in the Linux Word?
    JVM for Windows is much more stable!!!
    Thank you in advanced and best regards.

    I am assuming that you believe that there are 10 processes because that is what ps shows. However on Linux, each thread in a java program shows up in ps as a separate process. The memory for each "ps process" corresponding to a java thread is shared among all the threads of the JVM. Therefore if you see 10 processes with 20MB each you are not using 200MB, just 20.
    If you are running 4 JVMs then you would be using 40MB not 800 as shown in ps.
    I think Sun's JVM for linux is quite good (as I use it every day). If you need to run so many JVMs you should invest in more memory.
    BTW, How much memory is installed in your system?

  • Shell script to start, stop and restart a JAR under linux

    Hi everyone,
    Does anyone have idea to write a shell script to start, stop and restart a JAR under linux? it can also indicate a method or parameter? Thanks!
    this JAR inculdes a class with main method like this:
    public class Client(){
    public Client(String name){
    public void stopClient(){
    public static void main(String[] args){
    new Client("/tmp/text.log");
    }

    Does anyone have idea to write a shell script to
    start, stop and restart a JAR under linux? That part isn't really clear.
    Start would be java -jar myjar.jar.
    Stop could either be kill, which kills the whole process; kill -TSTP, which suspends the process, or some application-specific communication such as sending something over a port; or putting something into a file or something.
    Restart could just be the same as start (if stop is just kill); kill -CONT, if stop was kill -TSTP; or some other app-specific communication.

  • NI-VISA step by step configuration under linux

    Hi!
    I need to connect and acquire a codebar reader connected to RS232.
    I have: P4 2.4GHz with PCI6023E, mdk 9.1, LV 6.1 comedi, nicvirte and nivisaserver - nivisa drivers correctly installed and running. Serials RS232 are named ttyS00 and ttyS01 under /dev. devfs is running.
    Q:Which name belongs to ttyS0x under linux?
    Q:There are some literature on this arg?
    note: running "find Serial ports.vi" and probing "VISA find resource" icon the result is:
    'ASRL1::INSTR' (=> ttyS01?)
    Well, trying to read a barcode, with 'LabVIEW <-> Serial.vi' i have no error and no reading. note cpu load for lv process go to 99%!
    Any advice?? thanks in advance!
    tetractis

    Hi,
    I find a few things strange here. First normally linux distributions name the serial ports ttySx (where Com1 == ttyS0, Com2 == ttyS1, ...).
    Is this just the way mandrake sets things up or is there somthing else at play here?
    Secondly make sure that you have +rw permissions for the ports you are trying to get at.
    You may also want to test functionality by using something like minicom to test that the data is comming into the port and being transmitted/received correctly.
    Hope this helps out!
    Aaron K.
    Application Engineer
    National Instruments

  • Oracle 9i Installation under Linux

    I am trying to Install Oracle 9.0.1 under Linux.
    During the Installation Process it has given some
    error as follows..
    ERROR in invoking target install of makefile
    /home/oracle/OraHome1/plsql/lib/ins_plsql.mk
    and also for sqlplus and ldap etc, etc.
    I ignored those and after 100% completion
    its going into a window and saying Configuring NetAssistant and its going into a loop somewhere because its not coming out from that loop even after several hours.
    Can you suggest something.
    Thanks and Regards.
    Keshav

    Check the url of SuSe :
    http://www.suse.com/us/support/oracle/index.html
    I guess you're trying to install on SuSE 7.3. Is that right ?

  • Java installation under Linux

    Hi
    I've got a problem with the installation of somme Java Packages under Linux.
    What must I do with the "*.jar" file? I wont to install the neu Open Xchange Server under SuSE 9.1, but there are somme Problems with the Java Packages!
    Can someone help me???
    Thanks a lot!!
    Dambi

    Hello Ishan,
    The J2EE server is not starting because of the error in A. Please refer to note 965451 for solution.
    The warnings in part B are insignificant. The startup framework has list with profile parameters and when a parameter is not in the list complains with warning. This warning doesn't mean that the parameter is wrong!
    The jcontrol is the parent process of the server process and if the server process dies you will always get error message there.
    Regards,
    Ventsi Tsachev
    Technology Development Support (J2EE Engine)
    SAP Labs, Palo Alto, Ca (USA)

  • Executing multiple process instances in a batch

    In one of our processes we need to execute multiple process instances together in one go. In order to accomplish this, we have taken a new process which takes a list of instanceStampIds to be processed and then using PAPI processing them one after another in a loop. There is a grab actibity defined, named "GrabAndProcess" to Grab the process instance and then to execute it. We're getting the exception: "Cannot invoke on remote components" while getting process instance using getInstance() in the code below. Here is the code:
    logMessage("\[MultiReconcile\]\[reconcileTask\] Inside Reconcile Task... " + instanceStampId);
    // Pre-Process instanceStampId
    instanceStampIdList = instanceStampId.split(delim : "!");
    // Define the arguments of the activity.
    argumentSet\["reconcilerCommentsArg"\] = reconcilerComments;
    argumentSet\["newStatusArg"\] = newStatus;
    argumentSet\["reconcilerIdArg"\] = reconcilerId;
    logMessage("\[MultiReconcile\]\[reconcileTask\] instanceStampIdList.length: " + instanceStampIdList.length());
    logMessage("\[MultiReconcile\]\[reconcileTask\] Connecting to ReconcilationProcess... ");
    ClientBusinessProcess.connectTo(processId : "/ReconcilationProcess");
    logMessage("\[MultiReconcile\]\[reconcileTask\] Connected to ReconcilationProcess... ");
    foreach (instanceStampIdVal in instanceStampIdList) {
    logMessage("\[MultiReconcile\]\[reconcileTask\] Inside loop... instanceStampId: " + instanceStampIdVal);
    // Pre-process Instance Id
    instanceStampIdParts = instanceStampIdVal.split("/");
    String baseInstanceStampId = "";
    for (int part=0; part < instanceStampIdParts.length - 1; part++) {
    if (instanceStampIdParts[part].compareTo("") != 0)
    baseInstanceStampId = baseInstanceStampId + "/" + instanceStampIdParts[part];
    logMessage("\[MultiReconcile\]\[reconcileTask\] instanceStampId: " + instanceStampIdVal);
    logMessage("\[MultiReconcile\]\[reconcileTask\] baseInstanceStampId: " + baseInstanceStampId);
    // Grab Instance
    try {
    logMessage("\[MultiReconcile\]\[reconcileTask\] processInstanceId: " + baseInstanceStampId);
    logMessage("\[MultiReconcile\]\[reconcileTask\] Getting Process Instance..." + baseInstanceStampId);
    instance = ClientBusinessProcess.processService.getInstance(instance : baseInstanceStampId);
    logMessage("\[MultiReconcile\]\[reconcileTask\] Instance " + baseInstanceStampId + " Retrieved.");
    logMessage("\[MultiReconcile\]\[reconcileTask\] Grabbing Instance... " + instanceStampIdVal);
    instance.grab(grabActivity : "GrabAndProcess");
    if (instance.grabbed) {
    logMessage("\[MultiReconcile\]\[reconcileTask\] Instance " + instanceStampIdVal + " grabbed successfully!");
    // Process Instance
    instance.runTask(activity : "GrabAndProcess", args : argumentSet);
    reconcileResult = reconcileResult + "\nInstance " + instanceStampIdVal + " processed successfully!";
    logMessage("\[MultiReconcile\]\[reconcileTask\] Instance " + instanceStampIdVal + " processed successfully!");
    catch (Java.Lang.Exception e) {
    reconcileResult = reconcileResult + "\nInstance " + instanceStampIdVal + " could not be processed!";
    logMessage("\[MultiReconcile\]\[reconcileTask\] Exception occurred while processing instance " + instanceStampIdVal);
    logMessage("\[MultiReconcile\]\[reconcileTask\] Exception: " + e.message);
    logMessage("\[MultiReconcile\]\[reconcileTask\] Done with processing instanceStampId " + instanceStampIdVal);
    logMessage("\[MultiReconcile\]\[reconcileTask\] Leaving Reconcile Task... " + instanceStampId);
    display (reconcileResult);
    Why is it giving the execption "Cannot invoke on remote components"? What's wrong in the above approach?
    Any help in resolving the issue will be highly appreciated.
    Thanks,
    MK
    Edited by: goelmk on May 6, 2009 3:11 PM

    Hi,
    Could you go into your use case a little bit? I'm confused why you're using PAPI and the automatic grab functionality.
    Going under the assumption, you're trying to use it to do ad hoc routing of intstances. If this is the case, here's another approach to using an automatic grab to route instances. The "instF" search would need to be modified to suit your use case:
    BusinessProcess bp;
    try {
        logMessage("PapiHelper: actionGrabAndRoute: Entry: instance: " + instanceToActOn.instanceIn, severity : DEBUG);
        InstanceFilter instF = InstanceFilter();
        Fuego.Instance[] instances;
        String instanceDescription;
        bp.connectTo(url : Fuego.Server.directoryURL, user : "AUTOCLIENT", password : "P",
                     process : "/" + processName);
        instF.create(processService : bp.processService);
        instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
        instF.addAttributeTo(variable : VarDefinition.INSTANCE_NUMBER, comparator : Comparison.IS,
                             value : instanceToActOn.instanceIn);
        instances = bp.getInstancesByFilter(filter : instF);
        foreach (inst in instances) {
            logMessage("PapiHelper: actionGrabAndRoute: Found it: " + inst.id, severity : DEBUG);
            try {
                // change this to be the name of your Grab Activity
                inst.grab(grabActivity : "GrabAutomatic");
                logMessage("PapiHelper: actionGrabAndRoute: Grabbed Instance Status: " + inst.grabbed, severity : DEBUG);
                try {
                    inst.runTask(activity : "GrabAutomatic");
                    logMessage("PapiHelper: actionGrabAndRoute: Ran Grab " + inst.grabbed, severity : DEBUG);
                catch (Exception e) {
                    logMessage("PapiHelper: actionGrabAndRoute: tried to run grab and failed because no task to run in Grab", severity : DEBUG);
                inst.route(activity : groupGrabAndRouteToActivityName);
                logMessage("PapiHelper: actionGrabAndRoute: Routed back", severity : DEBUG);
            catch (Exception e1) {
                logMessage("PapiHelper: actionGrabAndRoute: Exception when running or routing: " + e1.cause, severity : DEBUG);
                errors = errors + "Instance could not be grabbed and reassigned\n\n";
                logMessage("PapiHelper: actionGrabAndRoute: Errors: " + errors, severity : DEBUG);
    finally {
        bp.disconnectFrom();
    }Dan

  • Program paths under linux

    Hallo,
    I need in my application to launch specific programs (common ones like firefox, adobe etc..). I could find the following posting, which gives the path of the installed software by passing the software name (like firefox.exe), under windows. My question is how to do the same under linux?!
    public class FindProgramOnWindows
         public String find(String exeName)
              String path = "";
              try
                   Process r = Runtime.getRuntime().exec("reg query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\" +"Microsoft\\Windows\\CurrentVersion\\App Paths\\" + exeName + "\"");
                   BufferedReader buffer = new BufferedReader(new InputStreamReader(r.getInputStream()));
                   String line = "";
                   String exeNameRegexp = exeName.replaceAll("\\.", "\\\\.");     
                   Pattern p = Pattern.compile(".+\\w:\\\\.+" + exeNameRegexp,Pattern.CASE_INSENSITIVE);
                   while ((line = buffer.readLine()) != null)
                        Matcher m = p.matcher(line);
                        m.matches();
                        if (m.matches())
                             String param[] = line.split("\t");
                             path = param[param.length-1];
                             break;
                   buffer.close();
              } catch (Exception e)
                   e.printStackTrace();
              return path;
    }Thankefully
    Christian Rosenfeld

    As differemt Linux distributions install programs in different folders in combination with no central program registry, I would say that either you have to communicate with installation package managers (apt, rpm) or search in to common folders for the program name, e.g. /usr/bin /usr/local/bin /opt/bin ...

  • Is it legal to use NiModbus under linux?

    Hi,
    situation is: National Instruments provides the Instaler for NiModbus Library only for Windows-OS... but the Library itselv  also runs on Linux-OS. So the Question is: Is it legal to copy the ni.modbusllb out of an installation on Windows-OS and use it under Linux-OS...
    regards
    t4b-1re-2

    t4b-1re-2 wrote:
    Hi,
    situation is: National Instruments provides the Instaler for NiModbus Library only for Windows-OS... but the Library itselv  also runs on Linux-OS. So the Question is: Is it legal to copy the ni.modbusllb out of an installation on Windows-OS and use it under Linux-OS...
    regards
    t4b-1re-2
    Yes it is. NIMODBUS.LLB to the best of my understandings is a free download from NI for any legal user of LabVIEW. That they provide a Windows only installer is sort of neglectance of NI, of the fact that there are other platform users than Windows only. Why there needs to be an installer I'm not even sure. the library should be basically self contained and I think it is not to much asked of an average LabVIEW programmer to know how to copy an LLB into the instr.lib subdirectory. But apparently someone at NI thought that there should be an installer for such a trivial task and in the process of it forgot that there are other platforms LabVIEW is running on. (Or they think only Windows users are not smart enough to be able to copy a file themselves )
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Reduce number of running thread under Linux

    Hello,
    How can reduce the number of running thread for coldfusion MX
    7.0.2 server under Linux (they are almost 30; )

    If you create a pool of any sort you will need a point where all requests for a resource from the pool must go via, and that piece of code could potentially become a bottle neck. But if you develop it well there will be a very small piece of code that is sychrnonized that will either put a request in a queue as there are no resources available, or it will provide the requested resource. As far as i am aware there is no safe way around this as you will have multiple threads requesting the resource.

Maybe you are looking for