Linux FAQ
- How can I get information about semaphore usage?
- When printing, should I be using an @PRN, an @PCQ for printing, or can I use both?
- Can I use filenames with embedded $ signs?
- Do I need to increase the value of any System Parameter entries in ICCONFIG?
- How much disk space does the ICOBOL product for Linux require?
How can I get information about
semaphore usage?
ICOBOL provides the tell_sem program as a tool to detect ICOBOL's
usage of semaphores. Tell_sem displays the key, the last user (PID)
who used the semaphore, the number of users that are waiting, and
the key's value. Tell_sem then tries to get each semaphore. If a
particular semaphore cannot be obtained, then ICOBOL might be hung.
To unhang the system, you can issue a kill (i.e., a kill -15 pid)
for the PID displayed for the semaphore in question. After issuing
the kill, rerun tell_sem to see if it still shows a hang. If the
hung condition still exists, try issuing several more kills (kill
-15 pid).
Any hangs that occur in which tell_sem is used to kill a job should be reported to your supplier or Envyr Corpration.
When printing, should I be using
an @PRN, an @PCQ for printing, or can I use both?
When using both @PRN and @PCQ entries, be careful about which
devices are being used. In general, a printer (@PRN) should not
point to a device that has a Linux spooler also using the port,
because you may get erroneous output or other unexpected results.
You should use @PRN entries when you wish to print directly to the
device with no spooling. You should use @PCQ entries, which uses
the Linux spooler, for reports and other items for which the order
of document printing does not need to be controlled for the output
being directed to the printer.
If you currently open "$LPT" or "$LPT1" in your COBOL program when you really want to direct output to a print queue, you should build a linkfile that has "$LPT @PCQ0", "$lpt @pcq0"; and/or "$LPT1 @PCQ1", "$lpt1 @pcq1" in it.
Can I use filenames with
embedded $ signs?
You must be aware that using filenames with embedded dollar ($)
signs can cause difficulties. While the ICOBOL Runtime will handle
such names in the COBOL program correctly, problems can result when
the Runtime or a user must interact with the Linux shell. Some
examples of problems imposed by using $ signs are:
- Using an ISAM file whose name is "data$426" in the COBOL program means that you can't issue an "iccheck data$426" at the Linux shell level because the $4 will be stripped off and remapped to arg4.
- Using an ISAM file whose name is "data$abc" in the COBOL program means that you can't issue an "iccheck data$abc" at the Linux shell level because the $abc will be stripped off and the environment value abc will be sought.
- Any file in the printer control utility cannot be printed in
most cases because the Linux print spooler executes scripts to
print files and those scripts will also incorrectly interpret
filenames with dollars ($).
Note: A workaround for this case is to ask for a range of pages (i.e., 1 - 99999) in which case the Runtime will read the file and pipe the output into lp without giving lp the filename with the dollar sign(s).
ICLINK can be used to remap filenames that have $ embedded to ones that don't. (Note: Make sure you do not map filenames to ones that do have $ embedded.)
How much disk space does
the ICOBOL product for Linux require?
A full release (Developer and Runtime environment) requires between
20-30MB depending on the installation.
Do I need to increase the
value of any System Parameter entries in ICCONFIG?
A good way to determine this is by running the system built-in
IC_SYS_INFO. This will cause statistical information about the
various system parameters to be displayed. If the Max and MaxUsed
values for an adjustable entry are equal or nearly equal, you
should probably increase the Max value for that entry.
[ General | Capabilities | Client/Server | ODBC | License Server | Runtime | Debugging | Windows-specific | Linux-specific | Network-specific | What Is? ]