A better way to ps -A?

top doesn't show enough information at once sometimes, and I find that I do a lot of digging through ps -A to get PIDs, primarily to kill apps.  Is there a graphical top out there that I could use?
Also, what can I do to kill processes that I know the name of?

synthead wrote:top doesn't show enough information at once sometimes, and I find that I do a lot of digging through ps -A to get PIDs, primarily to kill apps.  Is there a graphical top out there that I could use?
try htop
synthead wrote:Also, what can I do to kill processes that I know the name of?
killall $PROGRAM

Similar Messages

  • Need help to get alternate or better way to write query

    Hi,
    I am on Oracle 11.2
    DDL and sample data
    create table tab1 -- 1 millions rows at any given time
    id       number       not null,
    ref_cd   varchar2(64) not null,
    key      varchar2(44) not null,
    ctrl_flg varchar2(1),
    ins_date date
    create table tab2 -- close to 100 million rows
    id       number       not null,
    ref_cd   varchar2(64) not null,
    key      varchar2(44) not null,
    ctrl_flg varchar2(1),
    ins_date date,
    upd_date date
    insert into tab1 values (1,'ABCDEFG', 'XYZ','Y',sysdate);
    insert into tab1 values (2,'XYZABC', 'DEF','Y',sysdate);
    insert into tab1 values (3,'PORSTUVW', 'ABC','Y',sysdate);
    insert into tab2 values (1,'ABCDEFG', 'WYZ','Y',sysdate);
    insert into tab2 values (2,'tbVCCmphEbOEUWbxRKczvsgmzjhROXOwNkkdxWiPqDgPXtJhVl', 'ABLIOWNdj','Y',sysdate);
    insert into tab2 values (3,'tbBCFkphEbOEUWbxATczvsgmzjhRQWOwNkkdxWiPqDgPXtJhVl', 'MQLIOWNdj','Y',sysdate);I need to get all rows from tab1 that does not match tab2 and any row from tab1 that matches ref_cd in tab2 but key is different.
    Expected Query output
    'ABCDEFG',  'WYZ'
    'XYZABC',   'DEF'
    'PORSTUVW', 'ABC'Existing Query
    select
       ref_cd,
       key
    from
        select
            ref_cd,
            key
        from
            tab1, tab2
        where
            tab1.ref_cd = tab2.ref_cd and
            tab1.key    <> tab2.key
        union
        select
            ref_cd,
            key
        from
            tab1
        where
            not exists
               select 1
               from
                   tab2
               where
                   tab2.ref_cd = tab1.ref_cd
        );I am sure there will be an alternate way to write this query in better way. Appreciate if any of you gurus suggest alternative solution.
    Thanks in advance.

    Hi,
    user572194 wrote:
    ... DDL and sample data ...
    create table tab2 -- close to 100 million rows
    id       number       not null,
    ref_cd   varchar2(64) not null,
    key      varchar2(44) not null,
    ctrl_flg varchar2(1),
    ins_date date,
    upd_date date
    insert into tab2 values (1,'ABCDEFG', 'WYZ','Y',sysdate);
    insert into tab2 values (2,'tbVCCmphEbOEUWbxRKczvsgmzjhROXOwNkkdxWiPqDgPXtJhVl', 'ABLIOWNdj','Y',sysdate);
    insert into tab2 values (3,'tbBCFkphEbOEUWbxATczvsgmzjhRQWOwNkkdxWiPqDgPXtJhVl', 'MQLIOWNdj','Y',sysdate);
    Thanks for posting the CREATE TABLE and INSERT statments. Remember why you go to all that trouble: so the people whop want to help you can re-create the problem and test their ideas. When you post statemets that don't work, it's just a waste of time.
    None of the INSERT statements for tab2 work. Tab2 has 6 columns, but the INSERT statements only have 5 values.
    Please test your code before you post it.
    I need to get all rows from tab1 that does not match tab2 WHat does "match" mean in this case? Does it mean that tab1.ref_cd = tab2.ref_cd?
    and any row from tab1 that matches ref_cd in tab2 but key is different.
    Existing Query
    select
    ref_cd,
    key
    from
    select
    ref_cd,
    key
    from
    tab1, tab2
    where
    tab1.ref_cd = tab2.ref_cd and
    tab1.key    <> tab2.key
    union
    select
    ref_cd,
    key
    from
    tab1
    where
    not exists
    select 1
    from
    tab2
    where
    tab2.ref_cd = tab1.ref_cd
    Does that really work? In the first branch of the UNION, you're referencing a column called key, but both tables involved have columns called key. I would expect that to cause an error.
    Please test your code before you post it.
    Right before UNION, did you mean
    tab1.key    != tab2.key? As you may have noticed, this site doesn't like to display the &lt;&gt; inequality operator. Always use the other (equivalent) inequality operator, !=, when posting here.
    I am sure there will be an alternate way to write this query in better way. Appreciate if any of you gurus suggest alternative solution.Avoid UNION; it can be very inefficient.
    Maybe you want something like this:
    SELECT       tab1.ref_cd
    ,       tab1.key
    FROM           tab1
    LEFT OUTER JOIN  tab2  ON  tab2.ref_cd     = tab1.ref_cd
    WHERE       tab2.ref_cd  IS NULL
    OR       tab2.key     != tab1.key
    ;

  • Can some one tell me a better way...

    Hi All..
    I work on a web application. I create user ids for people logging into my application. here I have a small problem.. This is what I am currently doing...
    When I create a new user, I assign a new user id to the user and store all hi info.
    All our user ids are stored in User_ID table and user info in User_Info table.
    First I get the max user id from the User_Id table.
    int iuserid = select max(User_ID) from User_ID;
    Then I add ' 1 ' to this and assign it to new user.
    iuserid = iuserid+1;
    insert into User_id values(iuserid, <ssn> );
    Then I store all user info in User_info table..
    insert into User_info(iuserid, <first_name>, <last_name>,...);
    Both these SQLs are executed as a transaction.
    The problem that I have...
    It works fine in a normal environment and in my testing.
    But when the load inceases, before I insert into the User_info, another user tries to get the max User_id from User_ID table, then it conflicts..
    I have seen occurences of User_Info storing the info of a different user against the User_id when many people are accessing the app at the same time.
    Can some one tell me a better way to handle this scenario..
    Appreciate all you help..
    TIA..
    CK

    Hi,
    assuming that the requirement for user_id is only for uniqueness (primary key requirement) not continuosly.
    perhaps can try this,
    1) create a table to keep the max id for each table's key.
    e.g.
    create table key_id_lookup
    key_name char(n),
    current_value number(m)
    where n & m is the size of the field
    2) for each creation of entry in the user_id table, lookup the value in the key_id_table and increment it after retrieval.
    e.g. current_id = select current_value from key_id_lookup where key_name = 'user_id_key';
    current_id+=1;
    update key_id_lookup set current_value = current_id where key_name = 'user_id_key';
    something similar to use of sequence if your database support it.
    3) continue with the creation of record in other tables. now obtain the time stamp of creation and append with the current_id obtained. e.g. timestamp = 132456872; size of m is 5, user_id = 132456872 x 100000 + current_id;
    this should give you a unique key at creation time.
    There should be other better ways of resolving this(like locking the table for the update operation but affect performance, etc), depending on the feature supported by the database in use.
    Hope this can help as last resort if other options not available.

  • A better way to execute a series of external commands?

    Hi,
    Consider the code snippet...
    Process proc1 = rt.exec("Some external command");
    Vector vecOutput = outputGobbler.getOutput() ;
    String[] strAlterCmds = new String[vecOutput.size()];
    for ( int k = 0 ; k < vecOutput.size() ; k++ )
    strAlterCmds[k] = new String();
    strAlterCmds[k] = "cmd.exe /c blah.... " +(String) vecOutput.elementAt( k )+ " ;
    Process proc2 = rt.exec(strAlterCmds[k], null);
    StreamGobbler errorG = new
    StreamGobbler( proc2.getErrorStream(), "Error") ;
    StreamGobbler outputG = new
    StreamGobbler( proc2.getInputStream(), "Output") ;
    errorG.start() ;
    outputG.start() ;
    int exitVal1 = proc2.waitFor();
    The second part of the execution is taking AGES and I am not sure forking a new process for runtime execution is the best alternative here.
    I would be glad if someone can point me to a smarter solution.
    In short: I intend to execute a series of commands using RTE depending on the values I get in the loop.
    Thanks.

    Jared,
    Thank you for responding to my posted message. Rendezvous is a new concept to me, maybe
    it's the solution to my problem. I have been trying to read the on line manual and
    example VIs from National Instruments website. I still have a hard time to understand
    the concept.
    One of the example I saw is using rendezvous to run some sub VIs. But in my case, I have
    only one VI that is a while loop. Inside the while loop, there are a few tasks running
    simultaneously. I don't know whether it will serve my purpose.
    Guangde Wang
    Jared O'Mara wrote:
    > Guangde,
    >
    > Referring to your 2nd method, use rendezvous (under advanced>>synchronize
    > on function palette) to synchronize two processes. There are good examples
    > that come with labview. basically, you cre
    ate a rendezvous, giving it a
    > size. Using the wait on rendezvous vi, a function will not continue until
    > all rendezvous have reached that point. Using this method, you can synchronize
    > your 2 while loops.
    >
    > Jared
    >
    > Guangde Wang wrote:
    > >I tried two ways to control the tempo of my program.>>One is to use the
    > While Loop's counter and a wait. The drawback of this>method is the cycle
    > length is dependent on the measuring load. So if the>program runs for days,
    > it will be significent off the real time.>>The other way is to use the difference
    > of the Tick Count. It provides>accurate timing but the problem is the sychronization
    > of the clock cycle>and the While Loop cycle. I can try to put a little bit
    > wait but still>can not sychronize them very well. So after a while, there
    > will be two>measures get together.>>I don't know whether there are some better
    > ways to control the program>or whether we have some ways to improve either
    > or both of the above
    two>methods to make them work better. Please let me
    > know if you have any>suggestion.>>Thank you in advance,>>Guangde Wang>

  • A better way to activate an LOV

    I want to allow users to activate the LOVs and run queries from them without having to press the enter query button, then move their cursor to the appropriate text box, then press Ctrl+L, then press the execute query button. Is there some way to fire an LOV from a button press or some simpler way than I have right now?

    Thats really a good way.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Steven Lietuvnikas ([email protected]):
    i follow what you're saying but i think i found a better way to do it
    i made a button that says search on it and the whenbuttonpressed trigger is simply enter_query
    this then moves the focus to the first item in the record block
    i then made a whennewiteminstance trigger on the first item in the record block that says:
    DECLARE
    DUMMY BOOLEAN;
    BEGIN
    If (:system.Mode = 'ENTER-QUERY') Then
    DUMMY := SHOW_LOV('LOV_PERSONS',15,10);
    EXECUTE_QUERY;
    END IF;
    END;
    this works good<HR></BLOCKQUOTE>
    null

  • A better way to poll

    When my Start button is clicked it changes a member variable from false to true.
    Here is a simplified version of my code:
    public class gdvdhomevideo
       private boolean blnBegin;
       public static void main(String[] args)
          while(blnBegin == false){}
          //perform operations
       public void actionPerformed(ActionEvent e)
          String command = e.getActionCommand();
          if(command.equals("Start"))
             blnBegin = true;
    }So when the user clicks start it exits the while loop and the program starts performing other functions. The problem is that this approach is 100% CPU intensive and I know that there must be a better way?

    1) Code executed in the main() is NOT running on the event thread. Don't do any GUI code from the main thread... You know, stuff like showing windows, attaching event listeners etc.. You need to wrap all that stuff in a Runnable and pass that Runnable to SwingUtilities.invokeLater().
    2) Assuming the stuff you're doing in the main() is actually thread safe and doesn't touch the GUI, you can simply startup a new Thread and put your code in there. (see below)
    3) You class name is named badly. Please check out sun's java coding conventions. It is very nice to have coding conventions. Use them! ;-)
    4) if you want to setup your program as a loop rather than simply relying on user actions to fire events, then I'd suggest you use a timer that notifies on the event thread every X where X is a non-zero polling interval. I think there's a class is called SwingTimer that does this sort of thing for you.
    What you're attempting to do is non-trivial.. so.. ummm.. have fun..
    public class gdvdhomevideo
       private boolean blnBegin;
       public static void main(String[] args) throws Exception
            SwingUtilities.invokeLater( new Runnable() {
                  public void run() {
                       //setup stuff in here.
       public void actionPerformed(ActionEvent e)
          String command = e.getActionCommand();
          if(command.equals("Start"))
             new Thread(new Runnable() {
                public void run() {
                     //perform operations but don't touch the GUI.
              }.start();
    }

  • A better way to run .FMX from hyperlink

    Dear all,
    I am finding ways to execute .FMX from hyperlink in HTML. I tried to create a shortcut file (.LNK) that runs the .FMX and then using a hyperlink to refer that shortcut file. However, the browser prompts me for whether to run or to save the file every time. How can I suppress the dialog or is there any better way to do so?
    Regards,
    Derek.

    How you created a shortcut file(.LNK)
    How to call a form within a form using Hyperlink
    I am new to Java and could anybody help.

  • A better way to wake up from sleep?

    When my mac pro goes to sleep, I cannot wake it up by clicking mouse, hit keyboard, etc. I have to push the machine's power on/off button to wake it up. I assume there is a better way. Thank you in advance.

    Also, try a SMC reset.
    The following will help you with the repair Hatter is telling you about;
    Try using Disk Utility to do a Disk Repair, as shown in this link, while booted up on your install disk.
    You could have some directory corruption. Let us know what errors Disk Utility reports and if DU was able to repair them.
     DALE

  • A better way to run a 7 day report?

    Using Crystal Reports 11
    I am hoping there is a better way of running a seven day report that i have to run weekly
    In the report i have it set when refreshing the document, the "Prompt for new parameter values" comes up and there is a date field for start and end
    This is how i did it
    I made a formula called "Date" this comes from the closed date of our accounts
    I made a Parameter Field "Start Date" with the TYPE field is "Date"
    I made a Parameter Field "End Date" with the TYPE field is "Date"
    I made a Select Expert Using data from the "ClosedDate" in the first drop down I picked "Formula" and used this as the formula
    {WH_ACCTCOMMON.CLOSEDATE} in {?Start Date} to {?End Date}
    Two things
    1. Is there a way to have "Prompt for new parameters values" as the default checked off box when clicking "Refresh"?
    2. Is there a way to only enter a start date and the refresh would just run 7 days without entering a end date?

    Hi,
    Here's a suggestion for question 1:
    When you preview the report for 1st time there is no prompt window that asks you to select whether you wish to 'Use current values' or 'Prompt for new values'.
    If the Preview window is open and you hit refresh again, this is when you get the pop-up with the above options. If you close the Preview window and refresh again, you would not get a pop-up and it will show the Prompt window instead.
    For question 1, you can follow Alun's sugestions.
    -Abhilash

  • A better way to do ChangeListeners?

    I find myself having to implement multiple change listeners in a single class, and I was wondering if there was a way to do this that wouldn't trigger compilation problems. For example, let's say you have a LineChart, and you want the chart to listen for changes to the data, but also changes to the user's smoothing algorithm selection. You might try declaring your class like this:
    public class MyGraph implements DataChangeListener, SmoothingChangeListener {....where you've declared DataChangeListener, and SmoothingChangeListener as
    DataChangeListener extends ChangeListener<SomeDataStructure>{...}
    SmoothingChangeListener extends ChangeListener<ISmoothable>{...}The compiler will tell you immediately that MyGraph can only implement one ChangeListener.
    In real life, I have classes that have to listen for multiple types of events, and both for the sake of semantic clarity and for the sake of feasibility, they need to implement those change listeners. I've used event buses in certain cases, but they tend to obscure what the class is actually listening to.
    Is there a better way of doing this?

    Event handling code is, almost by definition, controller code. So it makes sense (to me at least) to have event handling code in the controller. You can put the code I showed previously
    someDataSeries.dataProperty().addListener(new ChangeListener<...>() {
       public void changed(...) {
    someChart.animatedProperty().addListener(new ChangeListener<Boolean>() {
       public void changed(...) {
    });directly in your controller. (I suppose I thought "MyGraph" was your controller, though the name should have implied otherwise to me.)
    However, if you really want to have the event handlers defined elsewhere, you can still do so, while using anonymous inner classes (or lambdas when we all upgrade next September):
    public class MyGraph {
      private final ChangeListener<SomeDataType> dataListener = new ChangeListener<SomeDataType>() {
        @Override
        public void changed(...) { ... }
      private final ChangeListener<ISmoothable> smoothingListener = new ChangeListener<ISmoothable>() {
       @Override
       public void changed(...) { ... }
      public ChangeListener<SomeDataType> dataListener() { return dataListener ; }
      public ChangeListener<ISmoothable> smoothingListener() { return smoothingListener ; }
    }and you can then do
    dataSource.addListener(myGraph.dataListener());
    smoothingProperty.addListener(myGraph.smoothingListener());But I recommend the approach I first suggested: I use this all the time.

  • A better way to Read Bytes until Done ?

    My question involves reading an unknown number of bytes from the serial
    port. One method is to just wait a defined amount of time to receive
    the bytes and hope you caught all of them. Better: count them until
    they are all received. I have attached an image which shows the method
    I use to count bytes until all bytes are received. However, this method
    is rather slow. It's taking me 500mS to read data that I can normally
    read in 230mS. Is the shift register making this loop slow? Is there a
    better way to read the bytes until all bytes are in?
    Richard
    Attachments:
    ReadBytes.gif ‏5 KB

    Thanks for your reply Chilly.
    Actually, you are correct on both accounts, the delay and the wire from
    the output of Write, and in fact, I usually do those things. I was just
    in a hurry to get an example posted and didn't have my real data.
    To put my issue in broader prospective, I have attached an image that shows boh methods I've used to count bytes. One
    shows the method I use to count bytes until all bytes are received. The
    other is a "hard wired" timer method that I try to avoid, but at least
    it is fast. Notice the text in red. Why would I be able to read the
    byes so much faster in the "hard wired" version? It has to be either
    the shift register, the AND, or the compare functions, and I still
    can't beleive these things would be slower than the Express timer
    function in the other method.
    Methodology: The 235mS timer used in the "hard wired" method was
    emperically derived. The 150 bytes are received 100% of the time when
    235mS is allowed. 230mS yields about 90% of the bytes, the it goes down
    exponentially. I found that the shift register method method trakes
    ~515mS avg by putting a tick count on both sides of the loop and
    finding the resulting time. I also did that with the hard wired method
    and found it to be dead on 235mS which at least proves the Express vi
    works very well
    Message Edited by Broken Arrow on 09-05-2005 08:31 PM
    Message Edited by Broken Arrow on 09-05-2005 08:32 PM
    Richard
    Attachments:
    CoutingBytes.GIF ‏25 KB

  • A better way to initialize imported taskflows and BCs with current user

    Hello.
    I'm currently developing a composite application containing one main application and a number of subapplications (modules) packed in adflibs.
    Main application has a side menu and a dynamic region, showing taskflows (on fragments) from adflibs.
    Main application is configured with adf security and it has current login and queries his ID. I would like main application to tell modules current user ID rather than each module to find out current user on their own.
    So there is currentUserID input parameter required in each imported taskflow. And my question is what is a better way to process this ID in the modules?
    What I have previously done is:
    I've created a custom BC classes layer, VOImpl and VORowImpl have getIdUser() method. This method reads currentUserID parameter from pageFlowScope where the taskflow is storing the parameter.
    Top-level View Objects have :IdUser query parameter and corresponding bind variable. This bind variable has value="source.getIdUser()", calling the method from custom VO class.
    This way works fine but here and there I read that it is a bad practice to access pageFlowScope from BCs.
    I could agree with this in case someone could share a better way.
    So what is a good practice?
    Thanks.
    ADF/JDev 11.1.2.3 - 12

    Why don't you use adf security for this? Read Oracle ADF: Security for Everyone which give you an overview and sample on how to implement this.
    Timo

  • A better way to manage Notes?

    We are a small team in collaboration on a book-length manuscript.My editors are inserting hundred of Notes into the document that I must cycle through and resolve each one. But I find the Note icon soooo tiny. When I'm at full page I can barely see those little guys. Is there any way to make the Note indicators bigger or something? In general. I don't see this Notes tool as very robust compared to change tracking type features found in word processors.
    I just want a better way to manage the Notes flow.

    Eugene Tyson wrote:
    I find using Notes in Story Editor to be way better.
    CTRL Y or CMD Y
    Then you can Expand/Collapse notes in Story Editor.
    Far easier to read and implement there, or if you need to switch back to layout just hit the shortcut again.
    It's also useful to tile a Story Editor window and the corresponding document's window, to have both views of the content.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • A better way to do this ?

    where does the sql stuff excute in the following stored procedure, directly in the database or it goes through the oracle VM first ?
    CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "CustomExport" AS
    import javax.sql.Connection;
    import oracle.jdbc.OracleDriver;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class CustomExport
    public void do() throws SQLException{
    OracleDriver oracle = new OracleDriver();
    DriverManager.registerDriver(oracle);
    Connection conn = oracle.defaultConnection();
    PreparedStatement st = conn.prepareStatement("select from table where col=?");
    st.setString(1,"value");
    ResultSet rs = st.execute();
    and is there a better way to read and parse an xml document with PL/SQL.what i've read about is the ability to parse an XML file to load its data directly into a database table.What i was looking for was just a way to parse XML without having to load any data into tables so i did it with java.
    CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "CustomParser" AS
    import javax.xml.prasers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    public class CustomParser
    private static CustomParseHandler handler = new CustomParseHandler();
    public static void parseXMLFile(String fileName) throws FileNotFoundException,IOException,SAXException
    SAXParserFactory saxFactory = SAXParserFactory.newInstance();
    SAXParser parser=saxFactory.newSAXParser();
    parser.parse(new FileInputStream(fileName)),handler);
    private class CustomParseHandler extends DefaultHandler{
    StringBuffer buff;
    public CustomParseHandler()
    this.buff = new StringBuffer();
    public void startElement (String uri, String localName,
    String qName, Attributes attributes)
    throws SAXException
    buff.append("<").append(qName).append(">");
    public void endElement (String uri, String localName, String qName)
    throws SAXException
    buff.append("</").append(qName).append(">").append(newLine);
    public void characters (char ch[], int start, int length)
    throws SAXException
    String fieldName = new String(ch,start,length);
    if(fieldName==null || "".equals(fieldName.trim()))
    return;
    public void clearBuffer(){
    buff.delete(0, buff.length());
    public String getXMLString(){
    return buff.toString();
    }

    PLSQL does not go through Java to access the database. The actual access to the database is via the same mechanism for both, so in some sense, both perform about the same. However, PLSQL datatypes have the same representation as database datatypes so there is no conversion. Java datatypes have different representations than database datatypes so there is a conversion cost associated with moving data between Java and the database.
    If your processing is simple and you are moving a lot of data, PLSQL is likely the better choice. If your processing is more complex and you are moving less data, Java is likely the better choice. There are other things such as portability you should consider, but the amount of data and complexity of the code are the first considerations.
    Douglas

  • A better way to make Automator mount a volume?

    I made an Automator application, using the Record function, to mount a volume on a drive connected to my Mini. I also made a similar one to eject it. I use them as Calendar-triggered events as part of my backup scheme.
    They work well ... until I restart the Mini, when occasionally my two connected drives will mount in a different order. What happens then is that the sequence of mouse clicks recorded in Automator don’t find the correct volume.
    I wonder if there’s a better way to automate the mounting of a currently ejected disc (and later its ejection). Automator, as far as I can see, does not have the actions I need. It has Ask For/Connect to/Get specified Servers, but they seem only to be for network-connected stuff.
    Anyone know a better way?

    Welcome to Unix. 
    The key part of that shell script code is the test for the existence of the mount point (if [ -e /Volumes/dbamp ]), followed by a conditional block that — in the "else" section involved when the mount point wasn't found — creates it, and then mounts an AFP file system on that mount point.  Most of the rest of the baggage in that script is used to get the mysqldump database dumps over onto the target disk, once it's been mounted.
    Here's a very quick overview of the basics of scripting , Apple's introduction to the command line manual, there's a generic bash intro (which is good, but doesn't line up exactly with how bash is implemented on OS X) and O'Reilly has some reasonable books on bash and bash scripting.  Once you know and are comfortable with the basics, there are advanced bash guides available.

  • A better way to deal with lost hyperlinks when converting Robohelp to Printed doc?

    I have inherited a 750-page manual that is
    "single-sourced" in RoboHelp X5. When I generate printed
    documentation, all of my hyperlinks and converted to plain text.
    Everytime we release a new version of the manual with any changes,
    we have to re-generate, and then manually go into the MS-Word
    converted document and re-create some 350 hyperlinks and page
    number references. Somebody please tell me that there is a better
    way to do this, or a better tool to manage single-source
    documentation.

    Another post has been raised relating to this problem. See
    http://tinyurl.com/yvpaut
    I am replying here is this is where most of the relevant
    information is.
    You found that using the Style Mapping template solved the
    images problem but the document stopped generating at 450 pages.
    That was sort of what I hoped for. Rather than go to the step I
    will suggest in a moment, I suggested you try something else but
    you never came back to the forum to indicate you had tried it, so
    the assumption is you did and it worked. Patently it did not so
    let's try what I would have suggested next.
    On my website there is a topic on Print Issues and one of the
    them covers Malformed Topics. Try looking for <p
    style="mso-bookmark: as suggested in my earlier reply in this
    thread. You can try RH's Multi file find and replace but FAR from
    http://www.helpware.net/FAR
    may get better results. I think with this error you usually get a
    message. Do you have the Output pane opened and have you read right
    through it for clues? View | Output on the menu. Whether or not the
    Output pane mentions this error, I would search for it anyway.
    Other Points:
    A] It could still be a resource problem. The document is very
    large so, as Harvey mentioned, resources come into it. I know the
    PCs that won't play nicely have good resources but whilst I am no
    expert in this area, don't foget XP is using more of them leaving
    less available to you. It could be an issue but I am inclined
    towards it being something else.
    B] I also suggested a hunt for a rogue topic.
    "What I would try is copying your layout so that you have
    three versions of it. Then delete two thirds from each one. If all
    three work fine, it sort of confirms that size is a problem. If one
    fails, your on the track of the rogue topic."
    Did you try that? Like I said, if all three work fine, then
    we are back with the resource problem but we will have ruled out
    other issues. It should take less than fifteen minutes to set that
    up. Longer to run it but you can be doing something else at that
    point.
    C] On FrameMaker, no real answer but you will soon see
    evidence that Adobe are continuing to better integrate all the
    products we are using. I don't think you will see what you want in
    the upcoming version though.
    NEXT:
    1] Please search for <p style="mso-bookmark:
    2] If that fails, try creating the three layouts.
    3] Then post back how it went. If unsuccessful, tell us if
    the Output pane gave any information about things the process did
    not like.
    Let us know either way as if one succeeds and you post that,
    it helps the next person with the same problem.

Maybe you are looking for

  • Not very savvy, confused about the features(client hosting, in browser editing)! Clarify for me, please?

    Hi! I'm in love with the idea of in-browser editing. I'm doing web design for clients using Adobe Muse at the moment, and it's great. The only setback is that it's really hard for the clients to update the page themselves, etc. My main and only reaso

  • Apple genius no help

    Took my ipad mini into the apple store . It has never worked well for imessage since I got it . My daughter has one and has never had an issue . Mine will only send about 2 out of 10 times . It will then start again maybe in a couple of days sync wit

  • Any good opensource / free image APIs out htere

    Ive used JAI, but do you guys know any APIs out there that handle media files like images and perhaps movies. I am looking to use something that is perhaps better/easier to use in some ways then JAI

  • RRI to ME1M does not transfer MATNR as parameter

    Dear all, I tried to establish a Report-to-Report interface, by calling transaction ME1M from my BW report to SAP/R3. The problem is, that all parameters (Vendor, Site, etc.) are transferred correctly, only the material number is not transferred at a

  • Recent problem with Illustrator CS5

    I don't know if there is a solution out there to this, I have searched and haven't found it. What happens is this: My move tool and open arrow tool duplicate what is being moved as well as move it My geometry (rectangle, ellipse, etc.) and line tools